十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
简单的方法是使用函数array_merge(),比如array_merge($arr_one,$arr_two );
为瑞安等地区用户提供了全套网页设计制作服务,及瑞安网站建设行业解决方案。主营业务为做网站、网站制作、瑞安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
或者forech方法
forech($arr_one as $v){
$arr_two[]=$v;
}
执行后数组one的元素全部添加到数组two中了
我给个写法,,其实写法很多自己再慢慢琢磨下
?php
$a=array
(
0= array
(
'id'= 1,
'love'= '苹果'
),
1=array
(
'id'= 1,
'love'= '西瓜'
),
2= array
(
'id'= 2,
'hobby' = '桃子'
),
3= array
(
'id' = 2,
'hobby' = '梨子'
),
4= array
(
'id' = 2,
'hobby' = '葡萄'
),
5 = array
(
'id'= 3,
'hobby' = '香蕉'
)
);
$b=array();//最后结果存放的数组
$b[0]['id']=$a[0]['id'];//初始化数组
$b[0]['love']=array(isset($a[0]['love']) ? $a[0]['love'] : $a[0]['hobby']);//初始化数组
$temp=0;//初始化下标
for($i=1;$icount($a);$i++)
{
$flag=0;//数组是否新增一个变量/还是合并
foreach($b as $k=$item)
{
if($a[$i]['id']==$item['id'])
{
$b[$k]['love'][]=isset($a[$i]['love']) ? $a[$i]['love']:$a[$i]['hobby'];
$flag=1;//合并;
break;
}
}
if($flag==0)//新增
{
$temp+=1;
$b[$temp]['id']=$a[$i]['id'];
$b[$temp]['love']=array(isset($a[$i]['love']) ? $a[$i]['love'] : $a[$i]['hobby']);
}
}
var_dump($b);
?
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);