使用 PHP 获取多维数组中的第一个密钥


Getting the first key in a multidimensional array with PHP

我有一个名为$test的多维数组:

Array (
    [First item] => Array (
        [screen] => 2
        [1] => 2
        [2] => 2
        [3] => 2
        [4] => 2
    )
    [Second Item] => Array (
        [screen] => 3
        [1] => 3
        [2] => 3
        [3] => 3
        [4] => 3
    )
) 

我正在尝试获取密钥:screen1234
它们对于First itemSecond item是一样的.你知道我如何遍历这个数组来获取这些值吗?所以,基本上获取我的多维数组中第一个数组的键。谢谢!

这个怎么样:

$keys = array_keys($test['First item']);

或者,如果您想手动执行此操作:

$keys = array();
foreach($test['First item'] as $key => $value) {
    $keys[] = $key;
}

这将是这样的:

$keys = array_keys(reset($your_array));

reset()获取数组的第一个值,并array_keys()结果数组的键。

您可能希望使用临时变量将其拆分为两行以避免严格警告。

这取决于您要存档的内容:

$test = Array (
    "First item" => Array (
    "screen" => 2,
        1 => 2,
        2 => 2,
        3 => 2,
        4 => 2,
    ),
    "Second Item" => Array (
    "screen" => 3,
        1 => 3,
        2 => 3,
        3 => 3,
        4 => 3,
    )
);

获取所有密钥

$vals = [];
foreach($test as $k=>$v){
    $vals = array_merge($vals, array_keys($v));
}

这将产生你:

Array
(
    [0] => screen
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => screen
    [6] => 1
    [7] => 2
    [8] => 3
    [9] => 4
)

在另一个多维数组中分离:

foreach($arr as $k=>$v){
    $vals[] = array_keys($v);
}

只有唯一的键:

foreach($test as $k=>$v){
    $vals = array_unique(array_merge($vals, array_keys($v)));
}