string(11) "3.239.76.25"

2022年04月23日

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)

 


関連情報

関連関数は 文字列で操作する関数 を参照してください。

 

関数一覧
  • 1.PHPとWordPressプログラム
  • 2.PHPの出力コマンド
  • 3.PHPの変数規則と文字連結
  • 4.PHPのif文
  • 5.PHPの配列とループ処理
  • 6.PHPのオブジェクトとループ処理
  • 7.PHPの文字列操作関数
  • 8.PHPファイルや関数の読み込み
  • 9.PHPのフォーム操作
  • array_keys()
  • array_reverse()
  • checkdate()
  • count()
  • date()
  • echo
  • explode()
  • implode()
  • in_array()
  • intval()
  • isset()
  • preg_match_all()
  • preg_match()
  • preg_replace()
  • preg_split()
  • print_r()
  • session_id()
  • session_start()
  • sprintf()
  • str_replace()
  • strpos()
  • trim()
  • var_dump()