PHP遍历数组的6种方式分别是什么
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,PHP遍历数组的6种方式分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在PHP的日常操作中,数组是最常出现的结
千家信息网最后更新 2024年11月30日PHP遍历数组的6种方式分别是什么1、foreach
2、array_map
3、array_walk
4、for
5、each
6、reset
PHP遍历数组的6种方式分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在PHP的日常操作中,数组是最常出现的结构,而我们几乎每天都在处理数组相关的内容。那么问题来了,你一般怎么遍历并处理数组。
1、foreach
很熟悉吧,是不是你的最爱?
$arr = ['a', 'b', 'c'];foreach ($arr as $key => $value) { $arr[$key] = $value . '_i';}print_r($arr); // ['a_i', 'b_i', 'c_i'];
2、array_map
使用匿名函数的方式,处理数组里的每个元素。遍历完成后返回一个新的数组
$arr = ['a', 'b', 'c'];$arr = array_map(function ($item) { return $item . '_i';}, $arr);print_r($arr); // ['a_i', 'b_i', 'c_i'];
你可以同时处理多个数组
$arr_1 = ['a', 'b', 'c'];$arr_2 = ['你', '好', '吗', '原', '罪'];// $arr_n = [...];$arr = array_map(function ($item_1, $item_2) { return $item_1 . '_' . $item_2 . '_i';}, $arr_1, $arr_2);print_r($arr); // ['a_你_i', 'b_好_i', 'c_吗_i', '_原_i', '_罪_i']
是的,遍历的次数以最长的数组为准。
遍历3次之后,$arr_1 其实是完成了的,所以之后 $item_1 的值都是null
3、array_walk
以引用传递的形式遍历你的数组,没有返回值,而且只能处理一个数组。
$arr = ['a', 'b', 'c'];array_walk($arr, function (&$item) { $item = $item . '_i';});print_r($arr); // ['a_i', 'b_i', 'c_i'];
注意到 &$item 了吗,是的,多了个&,代表着你的形参是以引用传递接收数据的。你要做的就是想办法改变这个参数。
假如你处理的是二维数组,处理方式也是万变不离其宗的。
$arr = [ ['name' => 'a'], ['name' => 'b'], ['name' => 'c']];array_walk($arr, function (&$item) { $item['name'] = $item['name'] . '_i';});print_r($arr); // [['name' => 'a_i'], ['name' => 'b_i'], ['name' => 'c_i']];
4、for
这应该是超级通用的语法了
$arr = ['a', 'b', 'c'];for ($i = 0; $i < count($arr); ++$i) { $arr[$i] = $arr[$i] . '_i';}print_r($arr); // ['a_i', 'b_i', 'c_i'];
不推荐使用。它的效率比不上foreach。而且写法上比foreach略繁琐。
5、each
哈哈,这个函数在PHP7.2已经被废弃了@deprecated,而且感觉特别古老的书写方式。这种写法的执行效率也不行,新手应该直接放弃。
$arr = ['a', 'b', 'c'];while (list($key, $value) = each($arr)) { $arr[$key] = $value . '_i';}print_r($arr); // ['a_i', 'b_i', 'c_i'];
6、reset
准确的讲并不止reset一个函数,需要组合多个内置函数,平常写代码基本是用不上的
$arr = ['a', 'b', 'c'];// reset() 指针切换到头部,其实默认就是指向开头,可以忽略这句reset($arr);// current() 获取当前指针的元素值while ($value = current($arr)) { // key() 获取当前指针的元素下标 $arr[key($arr)] = $value . '_i'; // next() 指针移到下一个 next($arr);}print_r($arr); // ['a_i', 'b_i', 'c_i'];
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
数组
处理
方式
函数
指针
元素
内容
写法
多个
就是
效率
新手
是的
帮助
不行
古老
平常
最长
清楚
繁琐
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全知识荣誉证书有用吗
对于网络安全技术的态度
中国网络安全新锐
hbase数据库管理工具
网络安全举报渠道
江西网络技术服务案例
dell服务器公司电话
网络安全培训素材
我国的网络安全公司有哪些
苏州大数据软件开发定做
周宁服务器
银行网络安全活动的文章
连接关系数据库的4种方法
网络安全标准规范执行情况
毕向东java数据库
苏州阿里云服务器默认端口
乌鲁木齐ip服务器租用
vba 链接数据库
数据分析决策软件开发
数据库的关键操作
河南什么软件开发推广
正确打开数据库方法
网络安全审查委员会将组建
网络安全 检查表
从数据库查找多字符函数
计算网络安全工具有哪些
互联网伪科技教学
sv数据库
金融信用信息基础数据库系统功能
软件开发与计算机专业