ホームページ >バックエンド開発 >PHPチュートリアル >array_keys()b関数?
http://docs.php.net/manual/zh/function.array-keys.php
<? $x=array("1"=>"aa","2"=>"bb","3"=>"cc","4"=>"bb"); $y1=array_keys($x,bb,false); $y2=array_keys($x,bb,true); print_r($x); print_r($y1); print_r($y2);?>
これを見てください: http://baike.baidu.com/view/4068562.htm素晴らしいですね
これを次のように変更してください: $y2=array_keys($x ,"bb",true); そうです
プログラムが間違ったのはなぜですか?
bb は定数ではなく、引用符で囲まれていないため
3 番目のパラメーターは、データ型をチェックするかどうかを指定します
厳密
検索時に厳密な比較 (===) を使用するかどうかを決定します。
$y1=array_keys($x, bb,false); bb が引用符で囲まれていないため、PHP は最初にそれを定数であると認識し、コード内に定数が存在しないため、エラーが報告されます。
3 番目のパラメーターは、型に応じて指定された値を持つキー名を返します。
$x=array("1"=>"111111","2"=>"bb","3"=) > "cc","4"=>"bb");
$y1=array_keys($x,111111,true); // これ以上のデータは返されません (元の配列の "111111" は文字列です) type ですが、ここでは指定されたのは数値型です)
エラーは、文字列が一重引用符または二重引用符を使用する必要があるためです
$y1=array_keys($x,"bb",false);
$y2=array_keys($) x,"bb",true );