多维数组的 php 重置


Php reset for multidimensional array

<?php
$a=[
    [
        "a"=>1,
        "b"=>2,
    ],
    [
        "c"=>1,
        "d"=>2,
    ],
];
echo key(reset($a));

结果

a

我需要它返回数组的第一个索引 0,但它返回"a"。我用错了方式吗?

重置 — 将数组的内部指针设置为其第一个元素

键 — 从数组中获取键

因此,当您将keyreset一起使用时,它将返回密钥a

使用 RESET 时,index将始终为 0,即数组的第一个元素。

试试这个

$keys = array_keys($a);
$length = count($keys);
echo "First: ".$keys[0]; // 0
echo "Last: ".$keys[$length-1]; // 1

使用以下代码,您将获得第一个元素和最后一个关键元素。

echo key($a); // return 0
$lastkey = array_keys($a);
echo $lastvalue = end($lastkey); // return 1

一旦你reset,你的数组将是:

Array
(
    [a] => 1
    [b] => 2
)

所以key的结果自然是a.

现在,如果您想要0,那么key($a)就可以了!