PHP遍历数组方法总结

遍历数组元素最常用的方法是使用foreach
遍历数组用的最常用的方法是使用foreach结构。foreach结构并非操作数组本身,而是操作数组的一个备份。
例如:


$name=array('名称','地点','服务');
$url=array('0'=>'107网站工作室','1'=>'河南大学计算机与信息工程学院','2'=>'网站开发与维护');
foreach($name as $key=>$value){
echo $value."---".$url[$key].'<br>';
}

运行结果为:
名称---107网站工作室
地点---河南大学计算机与信息工程学院
服务---网站开发与维护

each()函数遍历数组
返回数组中当前指针位置的键名和对应的值,并向前移动数组指针。键值对被返回为4个单元的数组,键名为0、1、key和value。单元0和key包含数组单元的键名,1和value包含数据,如果内部指针返回末端,则函数返回false。
语法如下
array each(array array)
例如:
$url=array('0'=>'www.107lab.com','1'=>'河南大学计算机与信息工程学院','2'=>'网站开发与维护');
print_r (each($url));

运行结果为:
Array ( [1] => www.107lab.com [value] => www.107lab.com [0] => 0 [key] => 0 )

$url=array('0'=>'www.107lab.com','1'=>'河南大学计算机与信息工程学院','2'=>'网站开发与维护');
while($arr=each($url)){
echo $arr[1]."<br>";
}

运行结果为:
www.107lab.com
河南大学计算机与信息工程学院
网站开发与维护

相关的方法:
current() - 返回数组中的当前元素的值
end() - 将内部指针指向数组中的最后一个元素,并输出
next() - 将内部指针指向数组中的下一个元素,并输出
prev() - 将内部指针指向数组中的上一个元素,并输出
reset() - 将内部指针指向数组中的第一个元素,并输出
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>"; // 当前元素是 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
echo current($people) . "<br>"; // 现在当前元素是 Steve
echo prev($people) . "<br>"; // Steve 的上一个元素是 Bill
echo end($people) . "<br>"; // 最后一个元素是 David
echo prev($people) . "<br>"; // David 之前的元素是 Mark
echo current($people) . "<br>"; // 目前的当前元素是 Mark
echo reset($people) . "<br>"; // 把内部指针移动到数组的首个元素,即 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
print_r (each($people)); // 返回当前元素的键名和键值(目前是 Steve),并向前移动内部指针

list()函数遍历数组
把数组中的一些值赋给一些变量。与array()函数类似。这不是真正的函数,而是语言结构。list()函数仅能用于数字索引的数组,且数字索引从0开始。
语法如下:
    void list(mixed....)
参数mixed为被赋值的变量名称。
例如:
$my_array = array("Dog","Cat","Horse");
list($a, $b, $c) = $my_array;
echo "I have several animals, a $a, a $b and a $c.";

运行结果为:
I have several animals, a Dog, a Cat and a Horse.

$my_array = array("Dog","Cat","Horse");
list($a, , $c) = $my_array;
echo "我在这里只用了 $a 和 $c 变量。";

运行结果为:
我在这里只用了 Dog 和 Horse 变量。

list与each连用
例如
$str = array("107网站工作室", "河南大学", "计算机与信息工程学院", "网站服务");
reset($str);
while (list($key, $val) = each($str))
{
    echo "$key => $val<br>";
}

运行结果
0 => 107网站工作室
1 => 河南大学
2 => 计算机与信息工程学院
3 => 网站服务
注:reset函数在上面each的相关函数中有
reset() - 将内部指针指向数组中的第一个元素,并输出


for语句遍历数组
想要通过for循环遍历数组,首先必须应用count()函数,获取到数组中单元数目,然后将数组中单元数目作为for循环的条件,执行循环输出。
count()函数语法如下:
int count(mixed array[,int mode])
参数array为指定输入的数组;参数mode为可选参数,如果mode被设置为COUNT_RECURSIVE(或 1),如果选中此参数,本函数将递归地对数组计数。这对计算多维数组的所有单元尤其有用。此参数的默认值为0.
例如:
$arr = array("107网站工作室", "河南大学", "计算机与信息工程学院", "网站服务");
for($i=0;$i<count($arr);$i++){
    echo $arr[$i].'<br>';
}

运行结果为:
107网站工作室
河南大学
计算机与信息工程学院
网站服务





  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值