不知道"继承"一字在这里是否用得准确但问题是这样的:$a = array('a', 'b', 'c');
$b = array(
'a' => $a,
'b' => 'qc'
);但 $b['a'] 的值只会是(string) array 而非是 $a 整个array如果将 $b['a'] 继承 $a 整个array?

解决方案 »

  1.   

    如果2个数组的key不同的话,直接用加号就可以了。
    $a = array(0=>1);
    $b = array (1=>2);
    $c = $a+$b;
    print_r($c);如果key有重复的话,那就自己写代码把它加起来吧
    举个简单例子:$a = array(1,2,3,4,5);
    $b = array(6,7,8,9,10);
    foreach ($b as $t){
    $a[]=$t;
    }
    print_r($a);
    另外这不能叫继承。
      

  2.   

    我执行的结果不是像你说的那样啊。
    <?php
    $a=array('a','b','c') ;
    $b=array('a'=>$a,'b'=>'qc');
    var_dump($b);
    ?>
    执行结果如下:
    array(2) { ["a"]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } ["b"]=> string(2) "qc" } 
      

  3.   

    LZ其实在你的代码中,$b['a']的值是array('a', 'b', 'c')。就是$a,整个array,$a = array('a', 'b', 'c');
    $b = array(
    'a' => $a,
    'b' => 'qc'
    );
    print_r($b);
      

  4.   

    二楼的用数组连接符+,不如用函数array_merge(),只是这个函数会覆盖相同关键字索引的元素,但是相同数字索引的元素都会被追加
      

  5.   

    楼主,你的代码运行结果正是你希望的那样。我估计你是用echo输出了。
    $a = array('a', 'b', 'c'); 
    $b = array( 
    'a' => $a, 
    'b' => 'qc' 
    );print_r($b);output:
    Array ( [a] => Array ( [0] => a [1] => b [2] => c ) [b] => qc )
    ==================================================================$a = array('a', 'b', 'c'); 
    $b = array( 
    'a' => $a, 
    'b' => 'qc' 
    ); print_r($b['a']);output:
    Array ( [0] => a [1] => b [2] => c )注意,无论是$b['a'])或$b,他们都是数组,不要用echo去输出,否则只会得到一个Array的结果,这是在告诉你输出的是个数组,而不是标量。
    要用print_r。或者你可以将它们foreach出来,一个个echo。
      

  6.   

    2樓及各位指的情況是對的我真是弱弱, 是自己在處理變量時的問題, 與array無關, 勞煩了各位