【PHP】in_arrayとarray_key_existsで配列の中身を判定する

普段issetやempty等で変数や配列の存在をチェックして、処理を分けるような事って良くあると思います。

配列の中身をチェックする関数を使ったので、忘れない様にメモ。

in_array

$example = array('リンゴ' => 'apple', 'ブドウ' => 'grape', 'ミカン' => 'orange');
if(in_array('apple', $example)){
  echo "リンゴあります";
}else{
  echo "リンゴありません";
}

配列というのは、array(‘キー’ => ‘値’); なので、
上記の場合は、リンゴがキー、appleが値になる。

そして、
配列の中に、値があるか否かをin_arrayで判定できるので、上記を実行した場合、

「リンゴがあります」と表示されるはず。

array_key_exists

$example = array('リンゴ' => 'apple', 'ブドウ' => 'grape', 'ミカン' => 'orange');
if(array_key_exists('リンゴ', $example)){
  echo "リンゴあります";
}else{
  echo "リンゴありません";
}

一方で、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