求生成新数组好的办法

「已注销」 2013-01-31 02:41:13
RT。如何让2个结构完全一样的数组合并成一个新的数组。用array_merge后面的数组会覆盖前面的。
数组结构为
...全文
456 16 打赏 收藏 举报
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
引用 15 楼 yao970953039 的回复:
引用 14 楼 insanity_sniper 的回复:引用 13 楼 yao970953039 的回复:PHP code?123456789101112131415用array_merge_recursive。。然后$arr = array(); $count = count($data['id']); for($i=0;$i<$coun……
可以 结贴吧
  • 打赏
  • 举报
回复
「已注销」 2013-02-01
引用 14 楼 insanity_sniper 的回复:
引用 13 楼 yao970953039 的回复:PHP code?123456789101112131415用array_merge_recursive。。然后$arr = array(); $count = count($data['id']); for($i=0;$i<$count;$i++){ $arr[] =……
这样做不好嘛
  • 打赏
  • 举报
回复
引用 13 楼 yao970953039 的回复:
PHP code?123456789101112131415用array_merge_recursive。。然后$arr = array(); $count = count($data['id']); for($i=0;$i<$count;$i++){ $arr[] = array( 'i……
妹纸 你就像一朵奇葩在风中颤抖着......
  • 打赏
  • 举报
回复
「已注销」 2013-01-31

用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],
            );
        }
哎。解决~
  • 打赏
  • 举报
回复
xuzuning 2013-01-31
合并成什么样子? 新数组和老数组有什么关系?
  • 打赏
  • 举报
回复
引用 7 楼 yao970953039 的回复:
说明下,a数组是累加的值。一开始没数据的时候,只有a数组,然后传入数组,我当它是b数组,然后新数组等于a数组加上b数组,然后在传入值的时候。依次往a数组后面加,数组的键和结构完全一致
引用 10 楼 yao970953039 的回复:
额。简单来说,我先$memcache->get(当天的key);if(不存在这个key)则把传入的任何数组都合并, 数组格式 PHP code?12345678910111213141516array(['id'] =>256676594464467['request_type'] =>7['receive_uid'] =>100004236761398['type'……
搞了半天那你直接把单个的数组赋给一个空的二维数组不就得了 去

$b = array('a'=>'1'); 
$a[] = $b;
  • 打赏
  • 举报
回复
「已注销」 2013-01-31
额。简单来说,我先$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
  • 打赏
  • 举报
回复
xuzuning 2013-01-31
你这个人真有趣 你总得把你原始的数据和期望的结果告诉我们吧?
  • 打赏
  • 举报
回复
ImN1 2013-01-31
搞不清楚规则……为何只替换[1]而不是替换[0]?这个要说清楚才行
  • 打赏
  • 举报
回复
「已注销」 2013-01-31
说明下,a数组是累加的值。一开始没数据的时候,只有a数组,然后传入数组,我当它是b数组,然后新数组等于a数组加上b数组,然后在传入值的时候。依次往a数组后面加,数组的键和结构完全一致
  • 打赏
  • 举报
回复

$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[] = $b;
$c = $a;
print_r($c);
即是你要的C数组
  • 打赏
  • 举报
回复
「已注销」 2013-01-31
是还试过 $list[] = array($a,$b); 结果本来平级的数组分为了 array( 0=>array(0=>array,1=>array) 1=>array() )
  • 打赏
  • 举报
回复
「已注销」 2013-01-31
唠叨哥的方法我用过。我数组有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'
)
)
  • 打赏
  • 举报
回复
xuzuning 2013-01-31
我猜你是这个意思
$a = array('a' => 1);
$b = array('a' => 1);

print_r(array_merge_recursive($a, $b));
Array ( [a] => Array ( [0] => 1 [1] => 1 ) )
  • 打赏
  • 举报
回复
数组结构为.....so 你是想让我们猜是吧
  • 打赏
  • 举报
回复
相关推荐
发帖
基础编程
加入

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
申请成为版主
帖子事件
创建了帖子
2013-01-31 02:41
社区公告
暂无公告