php要怎么定义如下格式的二维数组,下面是js初始化的一个数组:
var menu = [
        {'val': '1', 'txt': '请选择'},
        {'val': '2 ->', 'menu': [
            {'val': '21','txt': '2-1'},
            {'val': '22','txt': '2_2'}
        ]},
        {'val': '3', 'menu': [
            {'val': '31','txt': '3_1'},
            {'val': '32','txt': '3_2'}
        ]},
        {'val': '4 ->', 'menu': [
            {'val': '41','txt': '4_1'},
            {'val': '42','txt': '4_2'},
   {'val': '43','txt': '4_3'},
   {'val': '44','txt': '4_4'}
        ]}
    ];

解决方案 »

  1.   

    $menu = array(
        array( val => '1', txt => '请选择'),
        ......
    );
      

  2.   

    LZ可能是要在php中输出  能让js用的数组吧?
    如果是,你可以试试json_encode  不过应该是5+版本才有这个函数
      

  3.   

    是啊,想
    var menu = <?php echo $menu?>;
    照2楼的方法赋初值,好像没效果耶。是不是我的语句错了?
      

  4.   

    用json_encode函数可以了
    var menu = <?php echo json_encode($menu)?>;
    谢谢了各位,我得好好看看json_encode函数了。。
      

  5.   

    一维的,,更多依此类推$array = array('a' => 'aa', 'b' => 'bb');
    echo '<script>
    var arr = ' . json_encode($array). ';
    for(var i in arr)
    {
    alert(i + " => " + arr[i]);
    }
    </script>';
      

  6.   

    把js格式:
    var menu = [
      {'val': '0', 'txt': '请选择'},
      {'val': '1 ->', 'menu': [
        {'val': '11','txt': '1-1'}
      ]}
    ];用php格式表示:
    $menu[0] = array(val => '0',txt => '请选择');
    $menu[1] = array(val => '1',txt => array(val => '11',txt => '1-1'));是这样的吗?
      

  7.   

    不懂不懂,有点崩溃了。。还是求直接的结果吧。。
    var menu = [
            {'val': '1', 'txt': 'value'},
            {'val': '2 ->', 'txt':'2 ->','menu': [
                {'val': '2_1','txt': '2_1'},
                {'val': '2_2','txt': '2_1'}
            ]}
        ];