求生成新数组好的办法 RT。如何让2个结构完全一样的数组合并成一个新的数组。用array_merge后面的数组会覆盖前面的。数组结构为 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我猜你是这个意思$a = array('a' => 1);$b = array('a' => 1);print_r(array_merge_recursive($a, $b));Array( [a] => Array ( [0] => 1 [1] => 1 )) 唠叨哥的方法我用过。我数组有7列,结果被分为了7列。A数组array([0] =>array(['id'] =>365199916911903['request_type'] =>7['receive_uid'] =>100004520460114['type'] =>2['obj_id'] =>50013['send_uid'] =>100004155300493['send_time'] =>'2013/01/31')[1] =>array(['id'] =>599130963436697['request_type'] =>7['receive_uid'] =>100004268022279['type'] =>2['obj_id'] =>50013['send_uid'] =>100004155300493['send_time'] =>'2013/01/31'))B数组array(['id'] =>409399785810773['request_type'] =>7['receive_uid'] =>100004251090199['type'] =>2['obj_id'] =>50013['send_uid'] =>100004155300493['send_time'] =>'2013/01/31')合并后的C数组array([0] =>array(['id'] =>365199916911903['request_type'] =>7['receive_uid'] =>100004520460114['type'] =>2['obj_id'] =>50013['send_uid'] =>100004155300493['send_time'] =>'2013/01/31')[1] =>array(['id'] =>409399785810773['request_type'] =>7['receive_uid'] =>100004251090199['type'] =>2['obj_id'] =>50013['send_uid'] =>100004155300493['send_time'] =>'2013/01/31')) 是还试过 $list[] = array($a,$b);结果本来平级的数组分为了array(0=>array(0=>array,1=>array)1=>array()) $a[] = $b;$c = $a;print_r($c);即是你要的C数组 $a = array( 0=>array( 'id' =>365199916911903, 'request_type'=>7, 'receive_uid' =>100004520460114, 'type' =>2, 'obj_id' =>50013, 'send_uid' =>100004155300493, 'send_time' =>'2013/01/31' ), 1=>array( 'id' =>599130963436697, 'request_type' =>7, 'receive_uid' =>100004268022279, 'type' =>2, 'obj_id' =>50013, 'send_uid' =>100004155300493, 'send_time' =>'2013/01/31' ));$b=array( 'id' =>409399785810773, 'request_type' =>7, 'receive_uid' =>100004251090199, 'type' =>2, 'obj_id' =>50013, 'send_uid' =>100004155300493, 'send_time' =>'2013/01/31');$a[] = $b;echo "<pre>";print_r($a);Array( [0] => Array ( [id] => 3.651999169119E+14 [request_type] => 7 [receive_uid] => 1.0000452046011E+14 [type] => 2 [obj_id] => 50013 [send_uid] => 1.0000415530049E+14 [send_time] => 2013/01/31 ) [1] => Array ( [id] => 5.991309634367E+14 [request_type] => 7 [receive_uid] => 1.0000426802228E+14 [type] => 2 [obj_id] => 50013 [send_uid] => 1.0000415530049E+14 [send_time] => 2013/01/31 ) [2] => Array ( [id] => 4.0939978581077E+14 [request_type] => 7 [receive_uid] => 1.000042510902E+14 [type] => 2 [obj_id] => 50013 [send_uid] => 1.0000415530049E+14 [send_time] => 2013/01/31 )) 说明下,a数组是累加的值。一开始没数据的时候,只有a数组,然后传入数组,我当它是b数组,然后新数组等于a数组加上b数组,然后在传入值的时候。依次往a数组后面加,数组的键和结构完全一致 额。简单来说,我先$memcache->get(当天的key);if(不存在这个key)则把传入的任何数组都合并,数组格式array(['id'] =>256676594464467['request_type'] =>7['receive_uid'] =>100004236761398['type'] =>2['obj_id'] =>50014['send_uid'] =>100004155300493['send_time'] =>'2013/01/31') 所以说一开始是没有数组的,然后数组按顺序合并起来,因为数组的键都相同,所以无法使用array_merge 搞了半天那你直接把单个的数组赋给一个空的二维数组不就得了 去$b = array('a'=>'1'); $a[] = $b; 用array_merge_recursive。。然后$arr = array(); $count = count($data['id']); for($i=0;$i<$count;$i++){ $arr[] = array( 'id'=>$data['id'][$i], 'request_type'=>$data['request_type'][$i], 'receive_uid'=>$data['receive_uid'][$i], 'type'=>$data['type'][$i], 'obj_id'=>$data['obj_id'][$i], 'send_uid'=>$data['send_uid'][$i], 'send_time'=>$data['send_time'][$i], ); }哎。解决~ PHP简单采集器制作 php跨表查询问题 如何清除cookie php冒泡排序主要应用在那些方面,如何去掌握比较好呢 Php堕落群 第十二B轮散分宣传 抽奖算法 奇怪的图片显示问题 一个关于MYSQL中MYSQL_NUM_ROWS()函数的问题! 像邮件那样的附件管理是怎么实现的 奇怪的页面错误 CSRF 编写php的c扩展使用到了pcre动态库,编译正常,访问却出错
$b = array('a' => 1);print_r(array_merge_recursive($a, $b));Array
(
[a] => Array
(
[0] => 1
[1] => 1
))
A数组array(
[0] =>
array(['id'] =>
365199916911903
['request_type'] =>
7
['receive_uid'] =>
100004520460114
['type'] =>
2
['obj_id'] =>
50013
['send_uid'] =>
100004155300493
['send_time'] =>
'2013/01/31'
)
[1] =>
array(['id'] =>
599130963436697
['request_type'] =>
7
['receive_uid'] =>
100004268022279
['type'] =>
2
['obj_id'] =>
50013
['send_uid'] =>
100004155300493
['send_time'] =>
'2013/01/31'
)
)B数组array(
['id'] =>
409399785810773
['request_type'] =>
7
['receive_uid'] =>
100004251090199
['type'] =>
2
['obj_id'] =>
50013
['send_uid'] =>
100004155300493
['send_time'] =>
'2013/01/31'
)合并后的C数组array(
[0] =>
array(['id'] =>
365199916911903
['request_type'] =>
7
['receive_uid'] =>
100004520460114
['type'] =>
2
['obj_id'] =>
50013
['send_uid'] =>
100004155300493
['send_time'] =>
'2013/01/31'
)
[1] =>
array(['id'] =>
409399785810773
['request_type'] =>
7
['receive_uid'] =>
100004251090199
['type'] =>
2
['obj_id'] =>
50013
['send_uid'] =>
100004155300493
['send_time'] =>
'2013/01/31'
)
)
结果本来平级的数组分为了
array(
0=>array(0=>array,1=>array)
1=>array()
)
$a[] = $b;
$c = $a;
print_r($c);即是你要的C数组
$a = array(
0=>array(
'id' =>365199916911903,
'request_type'=>7,
'receive_uid' =>100004520460114,
'type' =>2,
'obj_id' =>50013,
'send_uid' =>100004155300493,
'send_time' =>'2013/01/31'
),
1=>array(
'id' =>599130963436697,
'request_type' =>7,
'receive_uid' =>100004268022279,
'type' =>2,
'obj_id' =>50013,
'send_uid' =>100004155300493,
'send_time' =>'2013/01/31'
)
);
$b=array(
'id' =>409399785810773,
'request_type' =>7,
'receive_uid' =>100004251090199,
'type' =>2,
'obj_id' =>50013,
'send_uid' =>100004155300493,
'send_time' =>'2013/01/31'
);
$a[] = $b;
echo "<pre>";
print_r($a);Array
(
[0] => Array
(
[id] => 3.651999169119E+14
[request_type] => 7
[receive_uid] => 1.0000452046011E+14
[type] => 2
[obj_id] => 50013
[send_uid] => 1.0000415530049E+14
[send_time] => 2013/01/31
) [1] => Array
(
[id] => 5.991309634367E+14
[request_type] => 7
[receive_uid] => 1.0000426802228E+14
[type] => 2
[obj_id] => 50013
[send_uid] => 1.0000415530049E+14
[send_time] => 2013/01/31
) [2] => Array
(
[id] => 4.0939978581077E+14
[request_type] => 7
[receive_uid] => 1.000042510902E+14
[type] => 2
[obj_id] => 50013
[send_uid] => 1.0000415530049E+14
[send_time] => 2013/01/31
))
数组格式array(
['id'] =>
256676594464467
['request_type'] =>
7
['receive_uid'] =>
100004236761398
['type'] =>
2
['obj_id'] =>
50014
['send_uid'] =>
100004155300493
['send_time'] =>
'2013/01/31'
) 所以说一开始是没有数组的,然后数组按顺序合并起来,因为数组的键都相同,所以无法使用array_merge
$a[] = $b;
用array_merge_recursive。。然后
$arr = array(); $count = count($data['id']);
for($i=0;$i<$count;$i++){
$arr[] = array(
'id'=>$data['id'][$i],
'request_type'=>$data['request_type'][$i],
'receive_uid'=>$data['receive_uid'][$i],
'type'=>$data['type'][$i],
'obj_id'=>$data['obj_id'][$i],
'send_uid'=>$data['send_uid'][$i],
'send_time'=>$data['send_time'][$i],
);
}哎。解决~