如果一个数组$a[1]=$item(为一个数组),那么还能a[1]["var"][]=$item吗???

解决方案 »

  1.   

    $a[1]=1;
    $a[1][2][3]=2;
    echo $a[1]." ".$a[1][2][3];
    我这样子试了一下,第二个是输不出来的
      

  2.   

    $a[1]=$item(为一个数组)  1是数组吗?
      

  3.   

    $a[1]=array(1,2,3);
    $a[1][2][3]=array('a','b','c');
    foreach($a[1] as $aaa)
    echo $aaa;
    foreach($a[1][2][3] as $aaa)
    echo $aaa;
    这样试了一下,下面的foreach是输不出的
      

  4.   

    这应该是不会覆盖掉的,你第二次赋值应该是和$item元素同级目录的,也就是说键为var的是$a的第二级元素
      

  5.   

    其实是ecshop中的一段代码
        $sql = "SELECT * FROM " . $ecs->table('shop_config') .
                " WHERE type<>'hidden' $config_groups $excludes_groups ORDER BY parent_id, sort_order, id";
        $item_list = $db->getAll($sql);
    //这里是把数据库里的数据以数组的形式取出来 $group_list = array();
        foreach ($item_list AS $key => $item)
        {
            $pid = $item['parent_id'];
            $item['name'] = isset($_LANG['cfg_name'][$item['code']]) ? $_LANG['cfg_name'][$item['code']] : $item['code'];
            $item['desc'] = isset($_LANG['cfg_desc'][$item['code']]) ? $_LANG['cfg_desc'][$item['code']] : '';        if ($item['code'] == 'sms_shop_mobile')
            {
                $item['url'] = 1;
            }
            if ($pid == 0)
            {
                /* 分组 */
                if ($item['type'] == 'group')
                {
                    $group_list[$item['id']] = $item;
                }
            }
            else
            {
                /* 变量 */
                if (isset($group_list[$pid]))
                {
                    if ($item['store_range'])
                    {
                        $item['store_options'] = explode(',', $item['store_range']);                    foreach ($item['store_options'] AS $k => $v)
                        {
                            $item['display_options'][$k] = isset($_LANG['cfg_range'][$item['code']][$v]) ?
                                    $_LANG['cfg_range'][$item['code']][$v] : $v;
                        }
                    }
                    $group_list[$pid]['vars'][] = $item;
                }
            }    }
      

  6.   

    当然可以
    $item = array('a' =>'b');//$item 为一个数组
    $a[1] = $item;
    $a[1]["var"][] = $item;print_r($a);Array
    (
        [1] => Array
            (
                [a] => b
                [var] => Array
                    (
                        [0] => Array
                            (
                                [a] => b
                            )                )        ))
      

  7.   

    [Quote=引用 8 楼  的回复:]$a[1]=array(1,2,3);
    $a[1][2][3]=array('a','b','c');
    foreach($a[1] as $aaa)
    echo $aaa;
    foreach($a[1][2][3] as $aaa)
    echo $aaa;
    这样试了一下,下面的foreach是输不出的那为什么这样就是错的???
      

  8.   

    <?php
    $a[1]=array(1,2,3);
    $a[1][2][3]=array('a','b','c');
    foreach($a[1] as $aaa)
    echo $aaa;
    foreach($a[1][2][3] as $aaa)
    echo $aaa;
    ?>
    代码就是这样的我知道为什么这个代码是错误的了,因为$a[1]=array(1,2,3);实质就是$a[1][0]=1;$a[1][1]=2;$a[1][2]=3;
    $a[1][2]=3;//为单值,所以不能再$a[1][2][3]=2;了谢谢xuzuning!!!