【PHP・配列関数】配列に値やインデックスが存在するか調べる

アイキャッチinarrayPHP
この記事は約3分で読めます。
スポンサーリンク

【PHP・配列関数】配列に値やインデックスが存在するか調べる

【PHP】 IN_ARRAY(配列に値が存在するか調べる)

php4~ で使用できます。

IN_ARRAY : 書式
書式:
 in_array ( ①, ② [,③]
)

引数:
 ①検索する値 ②配列 ③データ型も調べるときはTRUE、省略時FALSE

戻り値:
 TRUE:値が存在する FALSE:値が存在しない

 in_array関数は、配列に値が存在するか調べるときに使います。

大文字と小文字は区別されることに注意しましょう。

IN_ARRAY : 使用例
  • 配列に値が存在するか調べる 
    $array = array("東京","愛知","大阪");
    if(in_array("愛知", $array)){
      echo "値は存在します"; →出力される
    }

    $os = array("Mac", "NT", "Irix", "Linux");
    if (in_array("mac", $os)) {
      echo "Got mac"; →出力されない(大文字と小文字が区別される)
    }

  • 配列にデータ型を含めて一致する値が存在するか調べる
    $array = array("1","2","3");
    if(in_array(2, $array, TRUE)){
      echo "値は存在します";
    }else{
      echo "値は存在しません"; →出力される
    }

    <解説>
     第3引数に「TRUE」を指定するとデータ型を含めて一致するかどうかを調べます。この例では、文字列と数値を比較しているので、一致しないことを示す「FALSE」が返されます。

 

【PHP】 ARRAY_SEARCH関数(配列から指定値を検索する)

php4.0.5~ で使用できます。

ARRAY_SEARCH関数 : 書式
書式:
 array_search ( ①, ② [,③])

引数:
 ①検索する値 ②配列 ③データ型の一致も要するときはTRUE、省略時FALSE

戻り値:
 見つかった場合:インデックス
 見つからなかった場合:FALSE(PHP4.2.0以前はNULL)

 array_search関数は、配列から指定値を検索して、見つかった場合はインデックスを返します。第3引数で、厳密な型の一致も含めた検索をするかを指定できます。
ARRAY_SEARCH関数 : 使用例
  • 配列から指定値を検索する
    $array = array("a", "b", "c");
    if(array_search("b", $array)){
        echo "値は存在します"; → 出力される
    }
  • 配列から型が一致する指定値を検索する
    $array = array(1, "2", "3");
    if(array_search(2, $array, TRUE)){
        echo "値は存在します";
    }else{
        echo "値は存在しません"; → 出力される
    }
  • インデックスの値を取得する
    $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
    echo array_search('green', $array); →「2」を出力
    echo array_search('red', $array); →「1」を出力

 

関連リンク

【PHP】配列を作成する・配列の値を取得する・配列の数を数える
array/array_combine関数(配列を作成する)array_values関数(配列の値を取得する)/array_count_values関数(配列の数を数える)について、使用例とともにわかりやすく説明しています。
PHPトップページ
PHP入門 & 関数リファレンス
PHPの初心者からベテランまで活用できるページです。初めての方はもちろん、もう一度基礎から学びなおしたい方は、基礎知識のページを順に読んで理解しましょう。ベテランの方向けには、関数の書式・パラメーターを調べられる構成になっています。PHPプログラム作成時にご活用下さい。
タイトルとURLをコピーしました