string(3) "298"["user_id"] => string(1) "1"["/>  string(3) "298"["user_id"] => string(1) "1"[">

PHP 数组中如果有一个元素相同,怎么拼接其他元素

WBOY
发布: 2016-06-13 12:19:39
原创
889 人浏览过

PHP 数组中如果有一个元素相同,如何拼接其他元素
比如原数组是这样的
array(3) {
[0] => array(6) {
["pla_id"] => string(3) "298"
["user_id"] => string(1) "1"
["due_in"] => string(15) "8.33"
}
[1] => array(6) {
["pla_id"] => string(3) "976"
["user_id"] => string(1) "1"
["due_in"] => string(15) "338.90"
}
[2] => array(6) {
["pla_id"] => string(3) "56"
["user_id"] => string(1) "2"
["due_in"] => string(15) "25.6"
}}
因为数组中的user_id=1 是一样的
要得到最后这样数组,要怎么写(就是把user_id相同的其他元素拼接在一起)?
array(3) {
[0] => array(6) {
["pla_id"] => string(3) "298,976"
["user_id"] => string(1) "1"
["due_in"] => string(15) "8.33,338.90"
}
[1] => array(6) {
["pla_id"] => string(3) "56"
["user_id"] => string(1) "2"
["due_in"] => string(15) "25.6"
}}
------解决思路----------------------

$a = array(<br />  array(<br />    "pla_id" => "298",<br />    "user_id" => "1",<br />    "due_in" => "8.33",<br />  ),<br />  array(<br />    "pla_id" => "976",<br />    "user_id" => "1",<br />    "due_in" => "338.90",<br />  ),<br />  array(<br />    "pla_id" => "56",<br />    "user_id" => "2",<br />    "due_in" => "25.6",<br />  )<br />);<br />$b = array();<br />foreach($a as $v) {<br />  if(! isset($b[$v['user_id']])) $b[$v['user_id']] = $v;<br />  else $b[$v['user_id']]["due_in"] .= ',' . $v["due_in"];<br />}<br />var_dump(array_values($b));
登录后复制
array(2) {<br />  [0]=>  array(3) {<br />    ["pla_id"]=>    string(3) "298"<br />    ["user_id"]=>    string(1) "1"<br />    ["due_in"]=>    string(11) "8.33,338.90"<br />  }<br />  [1]=>  array(3) {<br />    ["pla_id"]=>    string(2) "56"<br />    ["user_id"]=>    string(1) "2"<br />    ["due_in"]=>    string(4) "25.6"<br />  }<br />}<br /><br />
登录后复制

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板