【发布时间】:2013-02-09 14:51:24
【问题描述】:
以下是我正在测试的代码 -
<?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。
- Count 是 4,我认为是 5 或 6,但对于 4,我不确定它是如何跳过最后两个值的。
询问前涉及搜索 -
在 php net 上,我检查了文档,发现这是相关的,但在我的情况下无法弄清楚。 链接-http://php.net/manual/en/language.types.array.php
编辑对于第三点,我相信 TRUE & NULL 被使用了两次,所以它的输出 4 但是让我知道是否确实如此。
【问题讨论】: