1

私は次の配列を持っています:

$array = array (
    'a' => 'A',
    'b' => 'B',
    'c' => 'C'
);

この動作を理解したい:

// true, normal behaviour, there is a 'A' value in my array
echo array_search('A', $array) === 'a';

// true, normal behaviour, there is no 1 value in my array
echo array_search(1, $array) === false;

// true ???? there is no 0 as value in my array
echo array_search(0, $array) === 'a';

array_search(0, $array)配列の最初のキーを返すのはなぜですか?

4

1 に答える 1

6

PHPドキュメントから

3 番目のパラメーターstrictがTRUEに設定されている場合、array_search() 関数は干し草の山で同一の要素を検索します。これは、干し草の山にある針のタイプもチェックすることを意味し、オブジェクトは同じインスタンスでなければなりません。

ほとんどの人はデフォルトでのarray_search用途==を知りません 同一の要素を検索したい場合は、厳格なパラメータを追加する必要があります...どういう意味ですか?

使用する場合

array_search(0, $array) //it would use == and 0 == 'A'

必要なのは

array_search(0, $array,true) // it would compare with === 0 !== 'A'
                         ^------------ Strict 
于 2012-11-12T15:47:41.687 に答える