php 遍历list,PHP数组遍历

1、什么是数组遍历

其实就是访问数组中每个内容的一个过程,在遍历过程中,我们可以按条件拿到自己需要的内容,或者操作数组中的元素。

PHP编程中常用 for、foreach、each()、list() 对数组进行遍历。

2、for 循环遍历数组

基本格式:<?php

$fruits = array("a1", "b2", "cd3", "e4");

for ($i=0; $i < count($fruits); $i++) {

echo current($fruits) . " ";

echo $fruits[$i] . "
";

}?>

for 循环遍历数组没有改变数组的内部指针。

3、foreach 遍历数组

基本格式:<?php

$array = [0, 1, 2];

foreach ($array as &$val){ // 遍历数组

echo $val;

}

?>

遍历数组, 使用current()输出数组指针指向的当前单元的值<?php

$array = [0, 1, 2];

foreach ($array as &$val){

var_dump(current($array));

}

?>

在 PHP 7 中运行以上程序的输出结果为 :int(0) int(0) int(0)

而在 PHP 7 之前的版本中则会输出 :int(1) int(2) bool(false)

由此说明 PHP 7 之前的版本在进行 foreach 循环时会改变数组内部的指针。

使用 foreach 循环遍历数组的时候,foreach 是对数组的备份进行操作,在循环内部修改数组不会对循环之外访问数组有影响。示例如下:<?php

$arr = array(0, 1, 2);

foreach ($arr as $val){

$val = $val*2; // 元素值乘以2

}

print_r($arr);

?>

输出结果如下:Array

(

[0] => 0

[1] => 1

[2] => 2

)

如果是按照引用循环,那么在循环内部对数组做的修改会影响数组本身。示例如下:<?php

$arr = array(0, 1, 2);

foreach ($arr as &$val){

$val = $val*2; // 元素值乘以2

}

print_r($arr);

?>

运行结果如下:Array

(

[0] => 0

[1] => 2

[2] => 4

)

3、each()函数

each() 函数返回数组中当前的键值并将数组指针向前移动。在执行 each() 之后,数组指针将停留在数组中的下一个元素或者当碰到数组结尾时停留在最后一个元素。如果要再用 each 遍历数组,就必须使用 reset()。<?php

$info = array("我的名字", "叫张三", "啦啦啦啦~", "24岁", "张三");

$val1 = each($info); //指针向后移动一步

print_r($val1);

echo current($info) . "\n"; //当前指针指向值

$val2 = each($info);

print_r($val2);

echo current($info) . "\n";

?>

运行结果如下:Array

(

[1] => 我的名字

[value] => 我的名字

[0] => 0

[key] => 0

)

叫张三Array

(

[1] => 叫张三

[value] => 叫张三

[0] => 1

[key] => 1

)

啦啦啦啦~

4、list()函数

使用 list() 将数组的值分别赋给变量,示例如下:<?php

$info = array("我的名字", "叫张三", "啦啦啦啦~", "24岁", "张三");

list($website, $course, $url, $age, $author) = $info;

echo $website . "\n" . $course . "\n" . $url . "\n" . $age . "\n" . $author;

?>

运行结果如下:我的名字

叫张三

啦啦啦啦~

24岁

张三

each() 函数和 list() 函数结合可以遍历数组,示例如下:<?php

$info = array(

"a" => "我的名字",

"b" => "叫张三",

"c" => "啦啦啦啦~",

"d" => "24岁",

"e" => "张三"

);

while( list($key, $val) = each($info) ) {

echo "$key => $val\n";

}

?>

运行结果如下:a => 我的名字

b => 叫张三

c => 啦啦啦啦~

d => 24岁

e => 张三

问题来源搜索总结!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值