欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php二维数组的合并2种方法_PHP教程

程序员文章站 2022-06-12 20:53:00
...
昨天还写了一篇关于数组合并的技术文章,那里我介绍的是一维数组合并,这里介绍一下php二维数组的合并方法,希望对各位同学会有所帮助哦。

例1

自定义方法合并数组

先看一个二维数组:

代码如下 复制代码

Array (

[0] => Array (

[A] => store_name

[B] => 商店一

)

[1] => Array (

[A] => store_owner

[B] => 小风

)

[2] => Array (

[A] => store_name

[B] => 商店二

)

[3] => Array (

[A] => store_owner

[B] => 小磊

)

?>

大家会发现里面有两个 store_name 和 store_owner ,所以我想让他们合并成下面这样

Array (

[0] => Array

(

[A] => 商店一

[B] => 小风

)

[1] => Array

(

[A] => 商店二

[B] => 小磊

)

?>

合并方法如下:

代码如下 复制代码

$stores = array(); //定义一个空数组
$store_count=count($showinfo); //统计显示的次数,这里的$showinfo是我获取数据库内容时的一个变量,然后打印出来就是上面刚开始的样子
for($i=0;$i {
$j=$i+1; //将 $i 加 1 跳过 一级 相当于 $j 取得是 键值为 奇数的值
$stores[]=array(
'name' =>$showinfo[$i]['value'],
'owner'=>$showinfo[$j]['value'],
);
$i = $j; // 这里的作用是 相当于 $i 取得是 键值为 偶数的值
}

?>

这样就可以得到上面的结果了!

为了让大家看的更清楚写 我把数据库表结构写出来 主要字段如下:

key value

store_name 网店一

store_owner 小风

store_name 网店二

store_owner 小磊

通过上面 的方法做过后 前台页面就可以以一排的方式显示了,如下

name owner

网店一 小风

网店二 小磊

例3

代码如下 复制代码

$arr = array
(
0 => array(
'1@01,02',
'2@01,02',
'4@ALL',
'3@01',
'5@01,02,04',
),

1 => array(
'1@01,02,03',
'2@01,02,04',
'3@ALL',
'4@01,02',
'111@01,05',
'5@03',
),
2 => array(
'1@01,02,03',
'2@02,03,05',
'3@ALL',
'4@01,02,03',
'111@01,05',
'5@03',
),
);
$result = array();
foreach($arr as $items){
if(is_array($items)){
foreach($items as $item){
$item = explode('@', $item);
if(count($item) != 2){
continue ;
}
$result[$item[0]] .= $item[1].',';
}
}
}
function reJoin(&$item,$key,$seq){
$list = array_unique(explode($seq,$item));
if (in_array('ALL', $list)){
$item = $key.'@ALL';
}else{
$item = $key.'@'.join($seq,$list);
}
}
array_walk($result, 'reJoin',',');
sort($result);
var_export($result);
/**
* array (
* 0 => '111@01,05,',
* 1 => '1@01,02,03,',
* 2 => '2@01,02,04,03,05,',
* 3 => '3@ALL',
* 4 => '4@ALL',
* 5 => '5@01,02,04,03,',
* )
*/
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632666.htmlTechArticle昨天还写了一篇关于数组合并的技术文章,那里我介绍的是一维数组合并,这里介绍一下php二维数组的合并方法,希望对各位同学会有所帮...