• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于数组的问题。

php 搞代码 4年前 (2022-01-23) 15次浏览 已收录 0个评论
文章目录[隐藏]

我想实现下面的效果

 $result = array(    		100001=>array(    			'proc_id'=>102,	    		'num'=>2,    		),    		100002=>array(    			'proc_id'=>100,	    		'num'=>3,    		)    	);$new = array(   //新数组      100001=>array(              'proc_id'=>102,	      'num'=>2'       )      );$new2 = array(   //新数组2      100003=>array(              'p<em style="color:transparent">本文来源[email protected]搞@^&代*@码)网9</em><strong>搞代gaodaima码</strong>roc_id'=>103,	      'num'=>2'       )      );//想实现的最终结果$result = array(    		100001=>array(    			'proc_id'=>102,	    		'num'=>4,    		),    		100002=>array(    			'proc_id'=>100,	    		'num'=>3,    		),              100003=>array(    			'proc_id'=>103,	    		'num'=>3,    		)    	);不知道说的清不清楚?

回复讨论(解决方案)

array_merge

$ar=array_combine(array_merge(array_keys($new),array_keys($new2)),array_merge($new,$new2));foreach($ar as $k=>$v){    if(!$result[$k]){	     $result[$k] = $v;	}else{	    $result[$k]['num'] += $v['num'];	}}print_r($result);

1楼的方法如果是字符串的键值是可以的,但是对数字键值的行不通的,楼主可以用我下面这个方法
$arr = $result+$new+$new2;
print_r($arr);


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于数组的问题。
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址