php - 我需要一个 array_keys_recursive()

标签 php arrays recursion multidimensional-array

$temp = array();
function show_keys($ar)
{
    foreach ($ar as $k => $v )
    {
        $temp[] = $k;
        if (is_array($ar[$k]))
        {
            show_keys ($ar[$k]);
        }
    }

    return $temp;
}

我尝试使用该函数,但它仍然只返回第一个键。

最佳答案

使用 SPL,遍历键非常容易(如果您愿意,可以将它们存储在另一个数组中):

<?php
$arr = array_fill(0,8,range(0,3));
var_dump($arr);
foreach( new RecursiveIteratorIterator(
    new RecursiveArrayIterator($arr),
    RecursiveIteratorIterator::SELF_FIRST)
  as $key => $value){
        var_dump($key);
}
?>

关于php - 我需要一个 array_keys_recursive(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872840/

相关文章:

c++ - C++中的堆栈溢出错误

php - 查询生成器上的未定义关系方法 - Laravel

php - MySQL+PHP : How to paginate data from complex query with ORDER BY on user-selected column

php - 根据从动态下拉框中选择的值预填充文本字段(在表单中)

arrays - 警告 : initialization from incompatible pointer type - how to initialize array of struct containing function pointers

python - 创建键值对的数组列

python - 为什么我的递归函数返回 None?

php - 在 Silex 中将用户添加到防火墙的用户列表

CUnit断言两个数组相等

javascript - 如何更改二叉树索引中递归的保留?