当前位置: 首页 > 后端技术 > PHP

PHP数组遍历的6种方法

时间:2023-03-29 18:50:01 PHP

在PHP的日常操作中,数组是最常见的结构,我们几乎每天都在和数组相关的内容打交道。那么问题来了,一般都是怎么遍历和处理数组的。1、foreach很熟悉,是不是你最喜欢的?$arr=['a','b','c'];foreach($arras$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=['You','Good','What','Original','Sin'];//$arr_n=[...];$arr=array_map(function($item_1,$item_2){return$item_1.'_'.$item_2.'_i';},$arr_1,$arr_2);print_r($arr);//['a_you_i','b_good_i','c_doyou_i','_original_i','_sin_i']是的,遍历次数是根据最长数组来的。遍历3次后$arr_1其实就完成了,所以之后$item_1的值全为null3,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'];对于($i=0;$i