温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php中怎么使用foreach

发布时间:2020-06-29 15:53:11 来源:亿速云 阅读:142 作者:元一 栏目:编程语言

php中怎么使用foreach?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

在PHP中经常会用到foreach的使用,而要用到foreach,就必须用到数组,php foreach是基于php编程环境下的语法,主要用于循环遍历数组。每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。

能够应用的编程语言类别:Java、C#、PHP、D语言(Phobos库)。

foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。

foreach语句的一般语法格式如下:

foreach(数据类型 标识符 in 表达式)
{
循环体2
}。

php 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。

foreach (array_expression as $value) statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

foreach (array_expression as $key => $value) statement

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

自php 5 起,还可能遍历对象。注: 当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。

注: 除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此数组指针不会被 each() 结构改变,对返回的数组单元的修改也不会影响原数组。不过原数组的内部指针的确在处理数组的过程中向前移动了。假定 foreach 循环运行到结束,原数组的内部指针将指向数组的结尾。

自 php 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>

此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。

注: foreach 不支持用“@”来抑制错误信息的能力。

用户可能注意到了以下的代码功能完全相同:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list(, $value) = each($arr)) {
 echo "Value: $value<br>/n";
}foreach ($arr as $value) { 
echo "Value: $value<br />/n";
}
?>

以下代码功能也完全相同:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) { 
echo "Key: $key;
 Value: $value<br />/n";
}foreach ($arr as $key => $value) { 
echo "Key: $key; 
Value: $value<br />/n";
}
?>

关于php中怎么使用foreach问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI