【摘要】PHP作为一种超文本预处理器,已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的内容,所以今天,我们就来讲讲PHP foreach循环。
在 PHP 5 版本中,当 foreach 开始循环执行时,每次数组内部指针都会自动向后移动一个单元,但是在 PHP 7 中却不是这样。如下PHP foreach循环代码在 PHP 5 和 PHP 7 中的执行结果会有所不同。
$array = [0, 1, 2];
foreach ($array as $val){
var_dump(current($array));
}
?>
在 PHP 5 中的输出结果为:
int(0) int(1) int(2)
但在 PHP 7 中的输出结果却为:
int(0) int(0) int(0)
在 PHP 7 中,按照值进行循环时,foreach 是对数组的复制操作,在循环过程中对数组的修改不会影响循环行为,但在 PHP 5 中却会有影响。
$array = [0, 1, 2];
//$ref =& $array; // Necessary to trigger the old behavior
foreach ($array as $val) {
var_dump($val);
unset($array[1]);
}
?>
在 PHP 7 中的输出结果为:
int(0) int(1) int(2)
但在 PHP 5 中的输出结果却为:
int(0) int(2)
在 PHP 7 中按照引用循环的时候对数组的修改会影响循环,在 PHP 5 中 则不会改变。PHP foreach循环示例如下:
$array = [0];
foreach ($array as &$val) {
var_dump($val);
$array[1] = 1;
$array[2] = 2;
}
?>
在 PHP 7 中的PHP foreach循环运行结果是:
int(0) int(1) int(2)
但在 PHP 5 中的PHP foreach循环运行结果却是:
int(0)
以上就是有关于PHP foreach循环的相关内容了,作为一种超文本预处理器的常用语言,我相信已经有越来越多的人看到了他的价值,所以在个栏目里,小编会尽可能多的为大家分享有关于PHP的相关知识,当然,环球网校的小编也要在此祝大家的PHP学习之路顺利。