以下是我正在测试的代码 -
<?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 作为键被使用了两次,所以值被覆盖,但我用 FALSE 检查了它,所以它必须输出 0 但没有输出值这个案例。
- 在第二个值 1 是空白但它应该是 1。
- 计数是 4,我认为是 5 或 6,但对于 4,我不确定最后两个值是如何跳过的。
询问之前涉及的搜索 -
在php net上,我检查了文档,发现这是相关的,但在我的情况下无法弄清楚。链接 - http://php.net/manual/en/language.types.array.php
编辑 对于第三点,我相信 TRUE & NULL 被使用了两次,所以它的输出 4 但是让我知道它是否确实如此。