这样一个数组:
通过判断uid和recevierId是否一样,得出以下这样的数组:
如何实现呢?各位帮帮忙吧!
$array = array();
$i=0;
//$arr=你的数组
foreach($arr['data'] as $item) {
foreach($arr['data'] as $v) {
if($item['uid'] == $v['uid'] && $item['recevierId'] == $v['recevierId'] && $item['time'] != $v['time']) {
$array['data'][$i]['uid'] = $item['uid'];
$array['data'][$i]['type'] = $item['type'];
$array['data'][$i]['recevierId'] = $item['recevierId'];
$array['data'][$i]['time'] = $v['time'] . '----' . $item['time'];
$array['data'][$i]['content'] = $v['content'] . ',' . $item['content'];
} else {
$array['data'][$i]['uid'] = $item['uid'];
$array['data'][$i]['type'] = $item['type'];
$array['data'][$i]['recevierId'] = $item['recevierId'];
$array['data'][$i]['time'] = $item['time'];
$array['data'][$i]['content'] = $item['content'];
}
}
$i++;
}
array_pop($array['data']);
echo "<pre>";
print_r($array);追问
$i=0;
//$arr=你的数组
foreach($arr['data'] as $item) {
foreach($arr['data'] as $v) {
if($item['uid'] == $v['uid'] && $item['recevierId'] == $v['recevierId'] && $item['time'] != $v['time']) {
$array['data'][$i]['uid'] = $item['uid'];
$array['data'][$i]['type'] = $item['type'];
$array['data'][$i]['recevierId'] = $item['recevierId'];
$array['data'][$i]['time'] = $v['time'] . '----' . $item['time'];
$array['data'][$i]['content'] = $v['content'] . ',' . $item['content'];
} else {
$array['data'][$i]['uid'] = $item['uid'];
$array['data'][$i]['type'] = $item['type'];
$array['data'][$i]['recevierId'] = $item['recevierId'];
$array['data'][$i]['time'] = $item['time'];
$array['data'][$i]['content'] = $item['content'];
}
}
$i++;
}
array_pop($array['data']);
echo "<pre>";
print_r($array);追问
这种方法可以实现。可是为什么返回的结果是这样的呢?
那你把你的代码贴一下吧,手打太费劲。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-01-14
讲清楚点就是 同一个uid 和recevierId的时候合并啦。
foreach 一下,用if 判断如果这两个相同就合并在一起。好像没什么好说的追问
foreach 一下,用if 判断如果这两个相同就合并在一起。好像没什么好说的追问
我要具体的代码。可以帮我写出来吗?
追答大哥 你的代友都是用图片的,你要我帮你手写?
第2个回答 2014-01-14
array_merge_recursive