概述
@[Toc](PHP foreach()函数访问数组)
1. 概述
通过each()函数和while()循环
相结合,能逐一访问数组的全部元素;还能用foreach语句循环
访问数组;
foreach()
是一类特殊的循环语句,只适应数组(或对象);可用两种 不同的方式 使用foreach语句;
一种是用它读取每个元素的值,另一种是用它读取元素的键和值;
2. foreach 循环 访问数组中每个元素的值
最简单的方法是用foreach语句每个元素的值,用法如下所示:
foreach($array as $value){
//把$value放在这
}
foreach循环
可从数组第一个元素直到最后一个元素,逐一访问数组的全部元素;
在某次循环过程中,$value
变量被赋予当前元素的值,在循环体内,可根据反复循环执行,直到处理完数组的全部元素为止:
例子 :
<?php
$ble=array("酸菜鱼","剁椒鱼头","清汤鱼","鱼生");
foreach($ble as $val){
echo $val."<br>";
}
?>
执行结果如下所示:
3. foreach 循环 访问数组中元素的键和值
用foreach循环 同时读取数组中元素的键和值,要用到如下语法:
foreach($array as $key=>$value)
{
//把$key 和$value 放在这
}
上述语法和之前的语法类似,区别在于:$key
变量同时也存储了元素的键(这里的 $key和$value变量
不是唯一的,必须使用$key 和$value
变量,也可以使用其他变量来代替);
例子 :
<?php
$ble=array("酸菜鱼","剁椒鱼头","清汤鱼","鱼生");
foreach($ble as $key=>$value){
echo "<dt>$key</dt>";
echo "<dd>$value</dd>";
}
?>
执行结果如下所示:
4. foreach 循环 修改数组中元素的值
使用foreach循环时,在循环体内处理的是数组元素的副本;即改变这个值,并不会改变原数组中相应的值;
例子 :
<?php
$ble=array("酸菜鱼","剁椒鱼头","清汤鱼","鱼生");
foreach($ble as $val){
if($val=="鱼生")$val="鱼丸";
echo $val."<br>";
}
print_r($ble);
?>
虽然循环体内$val
的值已从 “鱼生”改为“鱼丸”,但原来$ble
数组中的值并没有发生变化,从最后一行print_r()
的输出可以看出;
若想修改数组中元素的值,可用foreach()循环
返回这个值的引用,而不是它的副本;即循环中的变量指向的是数组中的元素的值,要改变数组中元素的值,只需改变这个变量的值即可;
要返回数组中的元素的引用,只需在foreach语句的变量名前加&符号即可:
foreach($array as & $value){
例子 :
<?php
$ble=array("酸菜鱼","剁椒鱼头","清汤鱼","鱼生");
foreach($ble as $val){
if($val=="鱼生")$val="鱼丸";
echo $val."<br>";
}
unset($val);
print_r($ble);
?>
执行结果如下所示:
unset(&val)
确保在循环结束后删除$val变量
;因此,循环结束后,$val
变量任然保存了最后一个元素的引用(即“鱼生”);
所以,复位或删除$val
这个变量,可防止出现这个潜在的bug;
结束语
若这篇文章有帮到你,给个赞,收个藏,欢迎大家留言评论;
若文章有什么错误的地方,欢迎大家指教。
最后
以上就是不安裙子为你收集整理的PHP foreach()函数访问数组1. 概述2. foreach 循环 访问数组中每个元素的值3. foreach 循环 访问数组中元素的键和值4. foreach 循环 修改数组中元素的值结束语的全部内容,希望文章能够帮你解决PHP foreach()函数访问数组1. 概述2. foreach 循环 访问数组中每个元素的值3. foreach 循环 访问数组中元素的键和值4. foreach 循环 修改数组中元素的值结束语所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复