我有一个名为$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
)
)
我正在尝试获取密钥:screen
、1
、2
、3
和4
。
它们对于First item
和Second 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)));
}