求生成新数组好的办法 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], ); }哎。解决~ 请问如何屏蔽sql错误,谢谢 php类操作求助 问一个SMARTY的三层嵌套问题 有关于php的中https的问题 如何取回刚刚存入数据库的记录的ID? 请问有没有开发PHP的平台? 一个关于图片上传的小问题,请教各位!!!!!!! help!!! 怎么让这里提示的是中文呢?有办法吗?新手见笑了 站点出错了 Warning: array_sum() [function.array-sum]: The argument should be an array 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],
);
}哎。解决~