什么是PHP数组遍历

这篇文章主要讲解了“什么是PHP数组遍历”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是PHP数组遍历”吧!

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、汾西网络推广、微信小程序开发、汾西网络营销、汾西企业策划、汾西品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供汾西建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

1、什么是数组遍历

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

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

2、for 循环遍历数组

基本格式:

$fruits = array("a1", "b2", "cd3", "e4");
for ($i=0; $i < count($fruits); $i++) {
   echo current($fruits) . " ";
   echo $fruits[$i] . "
";
}?>

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

3、foreach 遍历数组

基本格式: 

$array = [0, 1, 2];
foreach ($array as &$val){  // 遍历数组
   echo $val;  
}
?>

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

$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 是对数组的备份进行操作,在循环内部修改数组不会对循环之外访问数组有影响。示例如下:

foreach ($arr as $val){
   $val = $val*2;  // 元素值乘以2
}
print_r($arr);
?>

输出结果如下:

Array
(
   [0] => 0
   [1] => 1
   [2] => 2
)

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

$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()。  

$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() 将数组的值分别赋给变量,示例如下: 

$info = array("我的名字", "叫张三", "啦啦啦啦~", "24岁", "张三");
list($website, $course, $url, $age, $author) = $info;
echo $website . "\n" . $course . "\n" . $url . "\n" . $age . "\n" . $author;
?>

运行结果如下:  

我的名字叫张三啦啦啦啦~24岁张三

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

   "a" => "我的名字",
   "b" => "叫张三",
   "c" => "啦啦啦啦~",
   "d" => "24岁",
   "e" => "张三"
);
while( list($key, $val) = each($info) ) {
   echo "$key => $val\n";
}
?>

运行结果如下:

a => 我的名字
b => 叫张三
c => 啦啦啦啦~
d => 24岁
e => 张三

感谢各位的阅读,以上就是“什么是PHP数组遍历”的内容了,经过本文的学习后,相信大家对什么是PHP数组遍历这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


本文标题:什么是PHP数组遍历
路径分享:http://scyanting.com/article/ispdec.html