【PHP】in_arrayとarray_key_existsで配列の中身を判定する
普段issetやempty等で変数や配列の存在をチェックして、処理を分けるような事って良くあると思います。
配列の中身をチェックする関数を使ったので、忘れない様にメモ。
in_array
[php]
$example = array(‘リンゴ’ => ‘apple’, ‘ブドウ’ => ‘grape’, ‘ミカン’ => ‘orange’);
if(in_array(‘apple’, $example)){
echo "リンゴあります";
}else{
echo "リンゴありません";
}
[/php]
配列というのは、array(‘キー’ => ‘値’); なので、
上記の場合は、リンゴがキー、appleが値になる。
そして、
配列の中に、値があるか否かをin_arrayで判定できるので、上記を実行した場合、
「リンゴがあります」と表示されるはず。
array_key_exists
[php]
$example = array(‘リンゴ’ => ‘apple’, ‘ブドウ’ => ‘grape’, ‘ミカン’ => ‘orange’);
if(array_key_exists(‘リンゴ’, $example)){
echo "リンゴあります";
}else{
echo "リンゴありません";
}
[/php]
一方で、array_key_existsは配列の中に、指定した値のキーがあるかを判定できる。
この場合は、キーのリンゴは存在するので、上記のコードを実行した場合、
「リンゴあります」と表示される。
in_arrayは、配列の値。
array_key_existsは、配列のキーを判定できる。
[参考記事]
http://php.net/manual/ja/function.in-array.php
http://php.net/manual/ja/function.array-key-exists.php