php数组遍历方法详解(for foreach list each key)

发布时间:2020-10-22编辑:脚本学堂
本文介绍下,在php中对数组进行遍历的方法,包括使用for、foreach、list、each、key等来实现遍历的实例代码。有需要的朋友,不要错过哦。

6,使用对指针进行操作的函数遍历数组
a reset函数  用于将指针设置回数组的初始位置,如果需要在一个脚本中多次查看和处理一个数组,就可以使用这个函数,另外这个函数还常用于排序的结束
b.current() 函数
返回当前当前数组指针位置的值,该函数不对指针进行移动操作,需要注意这个特点
c end 将指针移到数组的最后位置,返回目标位置的值
d next 将指针向后移动一次并返回目标位置的数组值,如果当前位置为数组的最后位置,返回false
e prev 将指针向前移动一次,并返回目标位置的数组值,如果当前位置是数组起始位置,则返回false
例子:
 

复制代码 代码示例:

<?php
//reset方法的使用  注意以下代码调用了控制指针的函数,移动指针的操作会影响到each函数的结果
//初始化一个数组,为了简写代码,声明一个简单的数组
$arrGoogle=array('google','Gmail');

//调用each函数,并且输出返回数组 换行
echo(current($arrGoogle));//使用current函数,打印出当前的值

echo (next($arrGoogle));//调用next函数,打印下一个的值

$arrG=each($arrGoogle);

print_r($arrG);

print '<br>';

$arrGmail=each($arrGoogle);

print_r($arrGmail);

print '<br>';

$arrMore=each($arrGoogle);//当指针无法继续移动时返回false

//print_r($arrMore);

//echo $arrMore;

print '<br>';

//但是如果想继续输出使用重复上面的过程,那么使用reset函数将指针重置为开始位置,然后重复上面的的操作

reset($arrGoogle);

echo(end($arrGoogle));//调用end函数将指针移到数组最后一个位置,并返回值

echo(prev($arrGoogle));//调用prev函数将指针向前移动,并返回值

$arrG=each($arrGoogle);

print_r($arrG);

print '<br>';

$arrGmail=each($arrGoogle);

print_r($arrGmail);

print '<br>';
?>

7,array_reverse()函数的应用举例
该函数是将目标数组元素逆置,如果设置preserver_key为true,则保持原先的映射,否则重置映射。

例子:
 

复制代码 代码示例:
<?php
$arrGoogle=array('Google','Gmail','Android','Chrome','Youtube');
echo '<pre>';
print '进行操作之前的数组';
print_r($arrGoogle);
$arrReversed=array_reverse($arrGoogle);//不保留先前映射
print '未开启preserve_key 进行逆序操作后的结果';
print_r($arrReversed);
$arrReversedT=array_reverse($arrGoogle,1);//保留先前映射
print '开启preserver_key 进行逆序操作的结果';
print_r($arrReversedT);
echo'</pre>';
?>

8,array_flip()函数应用举例
该函数是将数组的键和值互换。
例子:
 

复制代码 代码示例:

<?php
//array_flip()函数的使用
//初始化一个索引数组
$arrGoogle=array('Google','Chrome');

//初始化一个关联数组
$arrSohu=array('son'=>'Sogou','child'=> 'Chinaren','search'=>'Sogou');//如果存在值相同调用array_flip()函数会按照顺序将相同的值覆盖掉, 如'son'=>'Sogou'和'search'=>'Sogou'值相同,使用array_flip()函数后,为[Sogou] => search

//对两个数组调用array_flip()函数进行操作并输出,都可以正常输出
print_r(array_flip($arrGoogle));
print '<br>$arrSogou未进行array_flip()函数操作之前的数组';
print_r($arrSohu);
print '<br>$arrSogou未进行array_flip()函数操作之后的数组';
print_r(array_flip($arrSohu));
?>

9,array_walk函数应用举例
boolean array_walk(array input_array,callback function[,mixed userdata])
array_walk()函数是将参数数组array_input中的每个元素传递给自定义的函数function 中,进行相关的操作,如果想真正修改array_input的键值对则需要将每个键值对作为引用传递给函数。

自定义函数必须接受两个输入参数,第一个是数组的当前值,第二个是数组的当前键,,如果调用array_walk函数给出第三个值userdata,他的第三个值将作为第三个参数传递给自定义函数。
 

复制代码 代码示例:
<?php
//array_walk函数的使用
//初始化一个数组
$arrCorperate=array('移动','联通','电信');
function linkString(&$value,$key,$prefix='cn'){
$value=$prefix.$value;//函数体实现字符串拼接
}
array_walk($arrCorperate,'linkString');//使用array_walk()对该数组按照自定义函数操作
//array_walk($arrCorperate,'linkString','中国');//这里传第三个三处对自定义函数设置参数
print_r($arrCorperate)
?>

本节的php教程,到此就介绍完了,你可以全面掌握有关php数组遍历的方法,希望对大家有所帮助。