以下は私がテストしているコードです -
<?php
error_reporting(E_ALL);
$myarr = array(NULL => "swapnesh", TRUE => 1, 4 => "swap", "swap" => 4, TRUE => NULL, NULL => TRUE );
echo "<pre>";
//var_dump($myarr);
print_r($myarr);
echo count($myarr);
このコードは出力します -
Array
(
[] => 1
[1] =>
[4] => swap
[swap] => 4
)
4
コードに関する懸念/質問 -
- キーとして NULL が値を 1 に変更する理由 (最初のインデックスで) キーとして NULL が 2 回使用されているため、値が上書きされたため、誰かが提案するシナリオを考えることができますが、FALSE でチェックしたので、0 を出力する必要がありますが、値は出力されません。この場合。
- 2 番目の値 1 は空白ですが、1 であるはずでした。
- カウントは 4 で、私は 5 か 6 だと思っていましたが、最後の 2 つの値がスキップされたため、4 の場合はどのようになっているのかわかりません。
質問する前に関連する検索 -
PHPネットでドキュメントをチェックしたところ、これは関連しているものであることがわかりましたが、私の場合はあまりわかりませんでした。リンク - http://php.net/manual/en/language.types.array.php
EDIT 3 番目のポイントについては、TRUE と NULL が 2 回使用されていると思います。