如何在 php 中获取多维数组中的所有密钥


How to get all the key in multi-dimensional array in 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、姓名、ID、电话、基地、城市、电子数据库、数量"的所有键值?

谢谢!

试试这个

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都是数组,则调用自身。如果您确实知道大小,则只需通过每个维度并记录每个维度的键。

像这样:

<?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;
}