array_keys()在其参数中包含普通数组

时间:2012-10-14 14:42:55

标签: php arrays

<?php
$arr = array("value1", "value2", "value3");
$array_with_keys = array_keys($arr);
echo "<pre>";
print_r($array_with_keys);
echo "</pre>";
?>

这是array_keys()在其参数中具有非关联数组的示例。所以没有钥匙。

输出结果为:

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
)

为什么输出这个?我搜索了手册,但在参数中找不到带有普通数组的array_keys()示例。

那么可以解释为什么输出是这个吗?

常识告诉我,这是因为在正常数组中,键是其索引,012

2 个答案:

答案 0 :(得分:1)

所有数组实际上都是PHP中的关联数组。 即使你没有声明它们:

$arr = array("value1", "value2", "value3");

这与

相同
$arr = array(0 => "value1", 1 => "value2", 2 => "value3");

因此,PHP会自动为您添加密钥。

答案 1 :(得分:1)

你的常识是正确的。当您创建没有键的数组时,它将以数字方式编制索引。在这样的数组上执行array_keys时,数字键将被解压缩。