Array ( [诸葛亮] => Array ( 
                [三十六记] => 
                      Array ( [兵法] =>  战略 ) ) 
         [PHP]   => Array ( 
                [PHP技术] => Array ( 
                        [技术] => 战略 ) ) 
) 这样一个数组的子数组的没确定,比如数组也可能是
Array ( [诸葛亮] =>  战略) 
         [PHP]   => Array ( 
                [PHP技术] => Array ( 
                        [技术] => 战略 ) ) 
) 怎么处理使数组值变成:
array(
    array('诸葛亮','三十六记','兵法','战略')
    array('PHP','PHP技术','技术','战略')
)

解决方案 »

  1.   

    和这位仁兄
    http://topic.csdn.net/u/20110531/20/3d564b7c-77ad-4064-b8b0-d9602d871d0f.html?84930
    问的问题差不多,我的方法稍微动一下就可以了,:-)。
      

  2.   

    你能帮忙改动下吗?foolbirdflyfirst
      

  3.   

    Array
    (
        [0] => -诸葛亮
        [1] => -诸葛亮-三十六记
        [2] => -诸葛亮-三十六记-兵法
        [3] => -诸葛亮-三十六记-兵法-战略
        [4] => -PHP
        [5] => -PHP-PHP技术
        [6] => -PHP-PHP技术-技术
        [7] => -PHP-PHP技术-技术-战略
    )
    像这样的结果之前我以前输出过了。就是没办法得到成
    array(
      array('诸葛亮','三十六记','兵法','战略')
      array('PHP','PHP技术','技术','战略')
    )
    这样的数组。
      

  4.   

    我的设想是这样的,编写一个递归函数获得一个数组的子数组的值,知道这个数组没有数组为止,用is_array()函数来判断是一个数组的值(返回false),还是一个子数组(返回true)。如果这个判读返回false的话,就终止递归,如果true就继续递归。具体实现自己想想,也可以结合array_walk()这个函数来完成递归
      

  5.   

    200分求解。如果问题解决了  请在以下地址再次回复下。
    http://topic.csdn.net/u/20110531/21/c615b4e0-7bf7-40d3-a9f1-722a88439bfd.html
      

  6.   


    array_walk()函数我也使用了,还是不行。额。
      

  7.   

    自己改改,优化优化吧。
    $tree = Array ('诸葛亮' => Array ( 
      '三十六记' => 
      Array ( '兵法' => '战略' ) ) ,
      'PHP' => Array ( 
      'PHP技术' => Array ( 
      '技术' => '战略' ) ) 
    ) ;function combine_keys( $arr,$root='' )
    {
        static $a = array();
        foreach( $arr as $k=>$v)
        {
            $t[] = !empty($root) ? ($root."-".$k) : $k;
            if( is_array($v))
            {
                combine_keys($v,end($t));
            }
    else{
    $a[] = array_merge(explode('-',end($t)),array($v));
    }
        }
        return $a;
    }echo "<pre/>";
    print_r(combine_keys( $tree ));
      

  8.   

    太感谢 foolbirdflyfirst。准备解贴。
      

  9.   

    foolbirdflyfirst  再去这个地址回复下。
    http://topic.csdn.net/u/20110531/20/3d564b7c-77ad-4064-b8b0-d9602d871d0f.html?84930