使用PHP array_keys处理多维数组的方法

   2024-09-30 4330
核心提示:array_keys() 函数用于返回数组中所有的键。但是,这个函数只能处理一维数组。要处理多维数组,您可以使用递归方法。下面是一个

array_keys() 函数用于返回数组中所有的键。但是,这个函数只能处理一维数组。要处理多维数组,您可以使用递归方法。下面是一个示例:

function array_keys_multi(array $input, string $parentKey = '') {    $keys = [];    foreach ($input as $key => $value) {        $currentKey = $parentKey ? $parentKey . '.' . $key : $key;        if (is_array($value)) {            $keys = array_merge($keys, array_keys_multi($value, $currentKey));        } else {            $keys[] = $currentKey;        }    }    return $keys;}// 示例多维数组$multiArray = [    'a' => 1,    'b' => [        'c' => 2,        'd' => [            'e' => 3        ]    ],    'f' => 4];// 获取多维数组的所有键$keys = array_keys_multi($multiArray);// 输出结果print_r($keys);

上述代码会输出以下结果:

Array(    [0] => a    [1] => b.c    [2] => b.d.e    [3] => f)

在这个示例中,我们定义了一个名为 array_keys_multi() 的函数,该函数接受一个多维数组作为输入。我们使用递归方法遍历数组的每个元素,并将当前键与父键连接起来。如果遇到一个子数组,我们将递归调用 array_keys_multi() 函数,并将结果合并到 $keys 数组中。最后,返回包含所有键的数组。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号