0

嗨我需要解析一个多维数组

$myArray = array(
    array('id' => 6),
    array(
        'id' => 3,
        'children' => array(
            'id' => 5,
            'children' => array(
                'id' => 7,
                'children' => array(
                    array('id' => 4), 
                    array('id' => 1)
                ),
                array('id' => 8)
            )
        )
    ),
    array('id' => 2)
);

这是我需要作为字符串或数组的输出...

6
3
3,5
3,5,7
3,5,7,4
3,5,7,1
3,5,8
2
4

1 回答 1

1

您需要创建一个递归循环:

$children = array();

function getChilren($myArray, $children){

     foreach($myArray as $value){
          if(is_array($value)){
              $cLen = count($children);
              $children[] = $children[$cLen-1];
              getChildren($value, $children[$cLen]);
          }
          else {
              $children[] = $value;
          }
      }
 }

这可能是有缺陷的,需要更多的工作,但我认为这至少是一个开始。

于 2012-08-04T15:52:07.100 回答