array_keys()b関数?

WBOY
WBOYオリジナル
2016-06-23 14:23:39928ブラウズ

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);?>




関数の 3 番目のパラメータは何をするのでしょうか?
プログラムエラーが発生したのはなぜですか?




ディスカッション (解決策) に返信

これを見てください: 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 );

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。