Как получить все ключи в многомерном массиве в php
Array
(
[0] => Array
(
[name] => A
[id] => 1
[phone] => 416-23-55
[Base] => Array
(
[city] => toronto
)
[EBase] => Array
(
[city] => North York
)
[Qty] => 1
)
(
[1] => Array
(
[name] => A
[id] => 1
[phone] => 416-53-66
[Base] => Array
(
[city] => qing
)
[EBase] => Array
(
[city] => chong
)
[Qty] => 2
)
)
Как я могу получить все ключевое значение с форматом "0, имя, идентификатор, телефон, база, город, Ebase, кол-во"?
спасибо!
2 ответов
попробуй такое
function array_keys_multi(array $array)
{
$keys = array();
foreach ($array as $key => $value) {
$keys[] = $key;
if (is_array($value)) {
$keys = array_merge($keys, array_keys_multi($value));
}
}
return $keys;
}
Если вы не знаете, каким будет размер массива, используйте рекурсивную функцию с циклом foreach, который вызывает себя, если каждый $val является массивом. Если вы знаете размер, то просто foreach через каждое измерение и записывать ключи от каждого.
что-то вроде этого:
<?php
function getKeysMultidimensional(array $array)
{
$keys = array();
foreach($array as $key => $value)
{
$keys[] = $key;
if( is_array($value) ) {
$keys = array_merge($keys, getKeysMultidimensional($value));
}
}
return $keys;
}