重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
下面是实现代码:
在铁东等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站制作 网站设计制作定制网站设计,公司网站建设,企业网站建设,高端网站设计,成都营销网站建设,成都外贸网站建设公司,铁东网站建设费用合理。
/**
**关于参数的说明
**$key键值相同的键名
**$array代表原数组
**$start代表$array[0][$key]
**$newkey代表相同键值相同的键名
**/
function
combine_same_val($array,$start,$key,$newkey){
static
$new;
foreach($array
as
$k=$v){
if($v[$key]==$start){
$new[$v[$newkey]][]
=
$v;
unset($array[$k]);
continue;
}
}
sort($array);
if(count($array)!==0){
combine_same_val($array,$array[0][$key],$key,$newkey);
}
return
$new;
}
1. 在用mysql查询的时候,用group by (某一个字段) 将其查询结果合并;
或者;
2. 查询条件用limit 1 限制查询结果条数,反正内容一样,你就要一条即可;
array_unique函数提供了过滤重复的值的功能,但是该函数只能处理一维数组,如果遇到多维数组我们可以现将其转化为一维数组。示例代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
* $data 是你要处理数据
* $result 是输出的结果
*/
//将其转化为一维数组
foreach ($data as $row) {
$row = serialize($row);
}
unset($row);
$data = array_unique($data);
//还原多维数组
foreach ($data as $row) {
$row = unserialize($row);
}
unset($row);
不好意思 楼主要求,我看错了,追加下面的代码
1
2
3
4
5
6
7
8
9
10
11
12
$result=array();
$tmp_arr=array();
foreach ($data as $row) {
$tmp_arr[$row['confuguarable_sku']][] = $row['size'];
}
//将尺寸用逗号拼接
foreach ($tmp_arr as $sku = $size) {
$result[] = array('confuguarable_sku'=$sku, 'size'=implode(",", $size));
}
echo "pre";
//输出结果
print_r($result);