如何获得多维数组中一个数组键的父键,祖父母键和祖父母键?

和平爱

这是我的数组:

array(1) {
  ["farm"]=>
  array(2) {
    ["folder1"]=>
    array(2) {
      ["horse"]=>
      array(1) {
        ["fred"]=>
        string(4) "fred"
      }
      ["cat"]=>
      array(1) {
        ["john"]=>
        string(4) "john"
      }
    }
    ["folder2"]=>
    array(1) {
      ["cat"]=>
      array(2) {
        ["sam"]=>
        string(3) "sam"
        ["cat"]=>
        array(1) {
          ["john"]=>
          string(4) "john"
        }
      }
    }
  }
}

这是我的功能:

    $search = "folder1";
    get_values($arr);

   function get_values($arr, $id){  
        global $search;
        foreach($arr as $key => $value){

            if($key == $search){

                if(is_array($value)){

                    foreach( $value as $k => $v ) {
                        echo $k;
                    }   
                }           
            }else{
                get_values($value, $id ); 
            }      
        }      
    }

我的结果:

horse
cat

我不仅需要数组键。我还想打印所有的父母(父母,祖父母,直到根)键。我需要的结果是:

farm/folder1/horse
farm/folder1/cat

据我所知是这样。但是在这里,我只得到父母,没有外祖父母和外祖父母:

  foreach( $value as $k => $v ) {
       echo $key."/".$k;
  } 

结果是

folder1/horse
folder1/cat
用户名

向您的函数添加路径参数。

$search = "folder1";
get_values($arr, null);

function get_values($arr, $path, $id){  
    global $search;
    foreach($arr as $key => $value){
        $basePath = $path === null ? $key : $path. "/" . $key;
        if($key == $search){

            if(is_array($value)){

                foreach( $value as $k => $v ) {
                    echo $basePath . '/' . $k;
                }   
            }           
        }else{
            get_values($value, $basePath, $id); 
        }      
    }      
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

祖父母的第一个孩子

来自分类Dev

通过祖父母的父类选择一个 css3 元素

来自分类Dev

在JQuery中获得祖父母的第一个孩子的最优雅,可靠和高效的方法是什么?

来自分类Dev

单击按钮时,如何选择一个按钮并删除该按钮的祖父母div?

来自分类Dev

使用祖父母块

来自分类Dev

访问祖父母的变量

来自分类Dev

SQL Select祖父母

来自分类Dev

在孩子的祖父母或外祖父母中建立父节点。XSL

来自分类Dev

SilverStripe 3:如何按祖父母页面对排序数组进行分组

来自分类Dev

获取特定孩子的父母和祖父母

来自分类Dev

使用快捷方式选择父母和祖父母

来自分类Dev

SilverStripe 3-下一个使用祖父母的兄弟姐妹

来自分类Dev

在子代的祖父母中维护父节点。XSL

来自分类Dev

从祖父母那里获得子元素的偏移位置

来自分类Dev

使元素与祖父母一样宽

来自分类Dev

QPushButton附加到祖父母

来自分类Dev

Angular指令隐藏元素的“祖父母”

来自分类Dev

git rebase与祖父母的分支

来自分类Dev

xpath查找元素的祖父母

来自分类Dev

使用nltk查找祖父母节点

来自分类Dev

从子元素覆盖祖父母的css

来自分类Dev

获取节点的祖父母的名称

来自分类Dev

Vue.js“发出事件”不会冒充父元素和祖父母元素

来自分类Dev

MySQL:选择条目的父名称和祖父母名称

来自分类Dev

在祖父母中定义的子模块和父模块之间的角度传递变量

来自分类Dev

如何在jQuery中选择元素的祖父母

来自分类Dev

如何在SQL层次结构上显示祖父母?

来自分类Dev

如何从Less的子类中向祖父母施加条件

来自分类Dev

如何在Scss中引用祖父母?