0
<?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() 示例。

那么有人可以解释为什么输出是这样的吗?

常识告诉我,这是因为在普通数组中,键是它的索引,即0, 1, 2

4

2 回答 2

1

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

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

这与

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

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

于 2012-10-14T14:45:10.153 回答
1

你的常识是正确的。当您创建一个没有键的数组时,它会被数字索引。当您array_keys对这样的数组执行操作时,将提取数字键。

于 2012-10-14T14:45:37.330 回答