成都创新互联网站制作重庆分公司

php合并数组中的数据 php 合并数组

php里面如何合并数组?

简单的方法是使用函数array_merge(),比如array_merge($arr_one,$arr_two );

为瑞安等地区用户提供了全套网页设计制作服务,及瑞安网站建设行业解决方案。主营业务为做网站、网站制作、瑞安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

或者forech方法

forech($arr_one as $v){

$arr_two[]=$v;

}

执行后数组one的元素全部添加到数组two中了

请教php数组如何合并

我给个写法,,其实写法很多自己再慢慢琢磨下

?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);

?

PHP如何合并数组当中有相同数值的数组

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);


网站栏目:php合并数组中的数据 php 合并数组
新闻来源:http://cxhlcq.com/article/ddedged.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部