in_array関数の使い方

in_array関数は指定した値が配列内に存在する場合はtrue、存在しない場合はfalseを返します。
第一引数に検索する値、第二引数に配列、第三引数に型比較するかをbool型(true/false)で指定します。第三引数の初期値はfalse(型比較しない)です。返り値はbool型(true/false)です。

in_array(検索する値, 配列, bool型);

同じ型の値の比較の場合、第三引数は指定せず初期値のままで問題ありません。

<?php
$items = array('トマト', 'キャベツ', 'ピーマン', 'レタス');

if(in_array('キャベツ', $items)) {
  echo 'キャベツは配列内に存在します。';
}
?>

実行結果は以下になります。

キャベツは配列内に存在します。

型が異なる値の比較の場合、第三引数が初期値のfalseであれば型の比較をしません。結果、型が異なっていてもin_array関数はtrueを返します。

<?php
$items = array(0, 1, 2, 3);

if(in_array('3', $items)) {
  echo '3は配列内に存在します。';
}
?>

実行結果は以下になります。

3は配列内に存在します。

型が異なる値の比較で型の比較までする場合は、第三引数にtrueを指定します。結果、型が異なるためin_array関数はfalseを返し、実行結果には何も表示されません。

<?php
$items = array(0, 1, 2, 3);

if(in_array('3', $items, true)) {
  echo '3は配列内に存在します。';
}
?>
タイトルとURLをコピーしました