
スキルアップ
2021.01.27
給料が高い仕事の特徴や年収を調査。高収入を目指す方法も紹介
「給料が高い仕事に就きたい」「今の給料に不満がある」など、給料についての願望や悩みは、多かれ少なかれ、持っている方も多いのではないかと思います。この記事では、給料が高い仕事の業界や特徴、年収を上げるための具体的な取り組み […]
PHP
2019.03.04
PHP には 配列内に指定した値があるかどうかをチェックする in_array 関数があります。
今回は in_array 関数の使用方法を紹介します。
PHP【 配列 】複数の値を保持するデータ構造
PHP【 配列 】配列にデータを追加
PHP【 配列 】配列からデータを削除
PHP【 配列 】count で要素数を取得
PHP【 配列 】配列のソート
PHP【 連想配列 】キーでデータを特定
PHP【 多次元配列 】配列の中に配列
PHP【 配列 】配列内のデータ検索
PHP【 配列 】要素を比較
PHP【 配列 】配列の結合
PHP【 配列 】in_array で値の存在チェック(本ページ)
PHP【 配列 】array_map で一括処理
PHP【 配列 】キーを取得
PHP【 配列 】array_filter でフィルター
PHP【 配列 】array_column で同一キーの値を取得
PHP【 配列 】foreach でループ処理
PHP【 配列 】array_unique で重複した値を削除
PHP【 配列 】便利な関数
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方
最終更新日:2019年3月4日
1.in_array 関数
2.in_array のサンプル
3.in_array の不具合回避
in_array 関数は、配列内に指定した値が存在するか否かを true 又は false で返す関数です。
in_array 関数は 次のように記述して使用します。
in_array ( 値 , $array [ , true / false ]) ;
第 1 引数にはチェックする値を指定します。
文字列の値を指定する場合は、大文字と小文字は区別されます。
第 2 引数にはチェックの対象となる配列を指定します。
第 3 引数はチェックの厳格さについての指定で、ここに true を指定すると チェックする値のデータ型やオブジェクトが同じインスタンスであるか 等まで比較対象となります( 省略可 )。
in_array 関数を使用して 配列内に特定の値があるかどうかチェックしてみます。
下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)
<pre> <?php $ary1 = array("ホノルル", "ロサンゼルス"); $ary2 = array("NYC"=>"ニューヨーク", "CHI"=>"シカゴ"); var_dump(in_array("ハワイ", $ary1)); var_dump(in_array("ホノルル", $ary1)); var_dump(in_array("ロス", $ary1)); echo "<br><br>"; var_dump(in_array("NYC", $ary2)); var_dump(in_array("CHI", $ary2)); var_dump(in_array("シカゴ", $ary2)); ?> </pre>
配列変数 $ary1、$ary2 に 指定した値が存在する場合は true 、存在しない場合は false が返っています。
「 var_dump 」は、引数に指定したデータを詳細に出力する PHP の関数です。
PHP では、bool 型( true / false )の データを echo 等で出力すると、true の場合は「 1 」が表示され、false の場合は何も表示されないため 判定結果が分かりづらいのですが、var_dump 関数を使用して出力すると「 bool(false) 」のように、出力対象のデータ型と出力内容が分かり易く表示されます。
var_dump 関数は、「 var_dump(出力データ); 」のように記述して使用します。
var_dump 関数で文字列や配列のデータを出力すると「 string(3) “HNL” 」「 array(4) { [0]=>string(3) “HNL” ・・・ } 」のように データのサイズも表示されるので便利です。
次のような配列で in_array 関数を使用すると、一般的な期待値とは違う結果になることがあります。
<pre> <?php $ary3 = array(0, "羽田", 1, "成田"); var_dump(in_array("NRT", $ary3)); var_dump(in_array(2, $ary3)); var_dump(in_array("羽田", $ary3)); ?> </pre>
配列変数 $ary3 に「 NRT 」という値は存在しませんが、in_array の実行結果として true が返っています。
これは、in_array 関数が実行される際に自動的にデータ型の変換が行われることに起因する不具合で、上のサンプルのように数値データ( 特に 0 )が絡む場合に生じます。
この不具合を解消するためには、in_array 関数の第 3 引数に true を指定すると効果的です。
<pre> <?php $ary3 = array(0, "羽田", 1, "成田"); var_dump(in_array("NRT", $ary3, true)); var_dump(in_array(2, $ary3, true)); var_dump(in_array("羽田", $ary3, true)); ?> </pre>
in_array 関数の第 3 引数に true を指定すると、チェックする値のデータ型まで比較対象となるため、不具合の原因となったデータ型の自動変換が行われず、通常期待される結果が得られます。
in_array 関数を使用する際には、不具合が生じる可能性を 第 3 引数の重要性と共に認識しておくと作業をスムーズに行うことができます。
スキルアップ
2021.01.27
「給料が高い仕事に就きたい」「今の給料に不満がある」など、給料についての願望や悩みは、多かれ少なかれ、持っている方も多いのではないかと思います。この記事では、給料が高い仕事の業界や特徴、年収を上げるための具体的な取り組み […]
スキルアップ
2021.01.25
独学でプログラミングの勉強を始める社会人たちが続々と増えていますが、最もオススメな学習法は「まずは無料の学習サイトでプログラミングに触れてみること」。そこで本記事では、初心者におすすめのプログラミング学習サイトを国内外あ […]
スキルアップ
2021.01.25
この記事ではシステムエンジニア(SE)とプログラマ(PG)の違いをわかりやすく解説します。システム開発の流れを説明しながら具体的に携わる仕事内容や必要スキル、年収まで違いを比較していきますので、ぜひ参考にしてください。 […]
スキルアップ
2021.01.22
通勤せず、家で仕事ができたら理想的だと思いせんか?コロナ禍の今、在宅ワークに注目が集まっています。パソコンとインターネット回線があればどこでもできる仕事が増え、完全在宅を前提とした求人も多く目にするようになりました。ここ […]
スキルアップ
2021.01.22
大学生のうちにプログラミングスキルを身につけておくべきか悩んでいる方、エンジニアとして働くことに興味がある方はぜひご覧ください! 大学生でプログラミングを習得するメリット、おすすめのプログラミング言語&学習法、失敗しない […]
スキルアップ
2021.01.22
本記事では、給料やお金をもらいながらでもプログラミングを学べる方法や、未経験からでもエンジニアへの転職が可能な理由について紹介します。プログラミングスキルが未経験者の就職や転職において有利となる理由も解説。これからプログ […]
INTERNOUS,inc. All rights reserved.