我有两个数组,分别是这样的:
Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 1 ) 
Array ( [0] => 4 [1] => 2 [2] => 5 [3] => 6 [4] => 7 ) 
我想把这两个数组合并,变成如下的新数组:
Array ( [1] => 4 [1] => 2 [1] => 5 [1] => 6 [1] => 7 ) 
但是,我用array_combine,但是合并以后的数组变成了Array ( [1] => 7 ) 
应该要如何操作啊?PHP数组合并

解决方案 »

  1.   

    Array ( [1] => 4 [1] => 2 [1] => 5 [1] => 6 [1] => 7 ) 
    这是什么数组?
      

  2.   

    额,你想问什么,这个数组是我从数据库取出的,[1]是表里面的id为1的值,对应的数组里面的键值是表里面pid的值,id为1,pid为4、2、5、6、7
      

  3.   

    Array ( [1] => 4 [1] => 2 [1] => 5 [1] => 6 [1] => 7 ) 键重复了,你说的数组不存在
      

  4.   

    键名都一样,这样数组不可能存在的,array(1=>array(4,2,5,6,7))这样才有可能
      

  5.   

    那如果我要构建一个数组是这样的:
    Array( [1] => Array ( [0] => 4 [1] => 2 [2] => 5 [3] => 6 [4] => 7 ) )
    应该如何构建?
      

  6.   

    假设你的第二个数组为 $ar2,创建的新数组为$arr
    $arr=array();
    $arr[1]=$ar2;
      

  7.   

    或者我这样问吧:
    两个数组时这样的:Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 2 [5] => 2 [6] => 2 ) 
    Array ( [0] => 7 [1] => 2 [2] => 5 [3] => 3 [4] => 3 [5] => 1 [6] => 5 ) 
    要构建一个这样的数组:
    Array( [1] => Array ( [0] => 4 [1] => 2 [2] => 5 [3] => 6 [4] => 7 ) 
           [2] => Array ( [0] => 3 [1] => 1 [2] => 5 )
         )
      

  8.   

    KEY在同维里是唯一的.不能重复
      

  9.   

    那我想知道
    Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 2 [5] => 2 [6] => 2 ) 
    可不可以分别获得值为1 的长度,和值为2的长度
      

  10.   

    想要这样的?<?php
    $a = Array ( 0 => 1, 1 => 1, 2 => 1, 3 => 1, 4 => 2, 5 => 2, 6 => 2 ); 
    $b = Array ( 0 => 7, 1 => 2, 2 => 5, 3 => 3, 4 => 3, 5 => 1, 6 => 5 );$result = array();
    foreach($a as $k => $v) {
    if(!isset($result[$v])) {
    $result[$v] = array(); 
    } $result[$v][] = $b[$k];
    }print_r($result);
      

  11.   

    array_combine 直接用这个函数就可以了,他们说的太麻烦了