前台读取php数组

昨天还写了一篇关于数组合并的技术文章,那里我介绍的是一维数组合并,这里介绍一下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,',

* )

*/

?>

1. git提交分支相关 在本地新建分支,保证和远程分支一样 git checkout -b 分支名 如果分支已存在,只需要切换的话 git checkout 分支名 提交前先把代码
如何用JAVA编写一个简单用户登陆界面? 我想利用JAVA编写一个简单的用户登陆界面,用于信息管理系统的,应该如何着手呢?请高手指教! 搜索更多相关的解决方案: JAVA  界面  编写 
随着各种移动设备的更新换代,移动互联网呈飞速发展状态,移动应用更是呈指数增长。在这种情况下,App的测试需求正逐年增大,已有赶超Web测试的势头。今天,就结合我个人的工作经历,已经相关的专业知识,
这篇文章我是第一次看见,关于app兑换码我也是第一次知道这么用。转给大家,希望能够对大家有所帮助。 App Store兑换码(促销码)是开发者市场营销过程中常常被忽略的一点,开发者并没有挖掘出兑换
目前Win11系统还是拥有周期的更新,并且我们电脑会自动下载这个补丁来让电脑更加安全,但这些升级包并不会在第一时间自行删除,而是会堆积在C盘中,这会导致我们存储空间严重不足,那么要如何去删除呢?
我们在使用电脑的时候有需要切换用户登录,windows10系统下怎么切换用户呢?下面由学习啦小编为你整理了windows10开机界面怎么切换用户的相关方法,希望对你有帮助! windows10
Mysql 更改数据存储目录,只讲干货 1. 找到原存储位置 2.暂停MySQL服务 3.将1查到的文件夹中的data文件剪切到其他盘符 4.更改MySQL服务下的My.ini文件 5.重
关于node的使用已经很久了,使用范围也很广,似乎有前端的地方就有node,那么来思考一个问题,node到底是用来干嘛的呢?本文从五个大的方面对该问题进行了解释。 我们知道node的出现,让前
一、下载最新的软件版本:node # wget [url]ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0rc3.tar.gz[/url]安
目录 第一部分 单项选择题.....................................................................................
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。 进入“中文语音识别”目录,然后运行下面的命令 pocketsphinx
快来领取红包
您的专属优惠已准备好!
打开微信扫一扫,关注公众号~
SiteMap 网站地图 文本地图 RSS