后端开发|php教程
array,gt,nbsp,cs,ar
后端开发-php教程
多维数组循环读取问题
多维数组
array(
‘a’=>array(
‘a2’=>array(‘dd’,’ff’,’gg’),
‘a3’=>array(‘dd’,’ff’,’gg’)
),
‘b’=>array(
‘b2’=>array(’22’,’55’,’88’),
‘b3’=>array(
‘cs’=>array(‘nn’,’mm’,’xx’)
)
)
)
一句话检测存活管理工具源码,vscode分屏,ubuntu 增加分区,iead tomcat,sqlite用cmd,租用服务器流量,js qq截图插件下载,松鼠前端开发框架,澳洲爬虫,php混淆解密工具,seo优化算法,360网站 加速,centos6 网页模板,discuz 新闻模板,js 设置页面大小,vb 学籍管理系统 信息修改 代码,ftp服务器端程序lzw
字符串
a.a2
b.b2
b.b3.cs
这儿离餐厅源码的英文,ubuntu关闭屏幕保护,代理爬虫访问vue,php对接源码,seo要写代码lzw
如何根据这个字符串读取相应的数组?
业务程序管理源码,vscode看电影插件,ubuntu 自制源,tomcat版本 查询,sqlite数据库优化体积,爬虫可以抓取参考文献吗,php 支持中文,放心的seo优化电话,驾校官方网站 模板,圣诞节网页背景,怎么看网站是dede模板lzw
比如
a.a2 = [‘a’][‘a2’] 结果是 array(‘dd’,’ff’,’gg’)
b.b2 = [‘b’][‘b2′] 结果是 array(’22’,’55’,’88’)
b.b3.cs = [‘b’][‘b3’][‘cs’] 结果是 array(‘nn’,’mm’,’xx’)
注:数组深度不限,最好不要遍历,绝对不能用eval
顺便问一下eval除了安全问题,效率是不是挺差的?
——解决方案——————–
PHP code
$ar = array( a=>array( a2=>array(dd,ff,gg), a3=>array(dd,ff,gg) ), =>array( 2=>array(22,55,88), 3=>array( cs=>array( n,mm,xx) ) ));$s = .b3.cs;$p =& $ar;foreach(explode(., $s) as $k) { if(isset($p[$k])) $p = $p[$k];}print_r($p);
------解决方案--------------------
PHP code
$ar = array( a=>array(a2=>array(dd,ff,gg),a3=>array(dd,ff,gg) ), =>array(2=>array(22,55,88),3=>array( cs=>array( n,mm,xx)) ));$s = .b3.cs;$s = explode(., $s);$p =& $ar;For($i=0;$i<count($s);$i++) { if(isset($ar[$s[$i]])) $ar = $ar[$s[$i]];}print_r($ar);
------解决方案--------------------
既然 绝对不能用eval
还要 不要遍历
那么你打算如何识别被 “.” 分隔的这些键值呢?
------解决方案--------------------
你如果想要不用foreach,如果不考虑效率问题可以自己写个函数递归取值,不过递归函数在php里效率低的可怕