ホームページ >バックエンド開発 >PHPチュートリアル >in_array() 関数の 3 番目のパラメータの問題

in_array() 関数の 3 番目のパラメータの問題

WBOY
WBOYオリジナル
2016-06-23 13:28:061156ブラウズ

class Included{}class test{    public $arr = array();    function a(Included $include){        if (in_array($include, $this->arr, true)){        	  return;        }        $this->arr[] = $include;    }}$test = new test();$test->a(new Included());$test->a(new Included());$test->a(new Included());print_r($test->arr);   //   输出Array ( [0] => Included Object ( ) [1] => Included Object ( ) [2] => Included Object ( ) )

bool in_array (mixed $needle , array $haystack [, bool $strict = FALSE ] )
3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針のタイプが同じかどうかもチェックします干し草の山のように。
この型がオブジェクト インスタンスとして理解できるかどうか。上記の例の in_array() の 3 番目のパラメータはデフォルトであるため、出力
Array ( [0] => Included Object ( ) ) のみになります



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

はい、はい、この型にはオブジェクト インスタンスも含まれます

はい、ありがとうございます。

3 番目のステップは、それらが同じタイプであるかどうかを確認することです。
例:

<?php$a = 123;$arr = array('123','456');var_dump(in_array($a, $arr)); // truevar_dump(in_array($a, $arr, true)); // false?>

上の方ありがとうございますが、同じ型にオブジェクトインスタンスが含まれるかどうかについては、この PHP マニュアルには記載がありません。

これはマニュアルに記載されています
3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。

そのタイプはリンクです。クリックすると
になります。これについては詳しく説明する必要はありませんね。
さらに、実際の測定結果にはオブジェクトも含まれます

わかりました、ありがとう。

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