2024年06月13日
PHP関数:in_array()
この関数の説明
PHP関数の in_array() は、配列の中に指定した値があるかをチェックする関数です。
関数
in_array( $taget, $array, $strict)
パラメータ
$taget(整数|文字列)(必須)
探す値を指定します。
$array(配列)(必須)
ターゲットの配列を指定します
$strict(真偽値)(オプション)
false:型の比較は行わない(デフォルト)
true:型の比較も行う。
※trueを使った使い方がお勧めです。
戻り値
探す値があった場合はtrue
ない場合はfaileを返します。
事例
①配列のの中にある数値をチェックする。
<?php $array = [1 , 2 , 3]; $ans1 = in_array( 3 , $array , true); $ans2 = in_array( 5 , $array , true); var_dump($ans1);echo '<br>'; // 3は、配列の中にあるのでtrueになります var_dump($ans2); // 5は、配列の中にないのでfalseになります ?>
■下記が表示されます。
bool(true)
bool(false)
②$strict=trueが必要な理由
<?php $array = ['1' , '2' , '3' ]; $ans1 = in_array( 3 , $array); // 整数の3がないにもかかわらずtrueになってしまいます(誤判定) $ans2 = in_array( 3 , $array ,true); // 整数の3は無いのでfalseになる(正しい判定) $ans3 = in_array( '3' , $array ,true); // 文字の3はあるのでtrueになる(正しい判定) var_dump($ans1);echo '<br>'; var_dump($ans2);echo '<br>'; var_dump($ans3); ?>
■3行目:配列には文字の3がないのにもかかわらずtrueになってしまう。間違った使い方です。
■結果は下記になります。
bool(true)
bool(false)
bool(true)
関連情報
関連関数は 文字列で操作する関数 を参照してください。