关于foreach的两点记录

码农天地 -
关于foreach的两点记录

1.是否需要判空操作
一般遍历数组前会判断数组是否为空,如下

$arr = [];
if(empty($arr)){
    return;
}
foreach ($arr as $value){
    //code
}

实际上foreach已经做了判断,如果数组为空的话,就不会再走foreach,如下

$arr = [];

foreach ($arr as $value){
    //不会走这里
}

所以不需要判空的冗余代码。

2.foreach的引用赋值

$my_array = array("one", "two", "three", "four");

foreach($my_array as &$my_item) {

} 

foreach($my_array as $my_item) {
   //打印这两个变量看值即可好理解
  // echo $my_item;
  // echo $my_array[3];
  $second_array[] = $my_item;

}
print_r($second_array);

以上代码会输出

"one", "two", "three", "three"

这是因为在第一次的foreach中使用了引用,使得$value变成了引用变量,并且$value与 $x[ 2 ]共享变量值,在第二个foreach中,不断的将$x中的值赋给$value,进而$x[2]的值也会跟随者$value的变化而变化.

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

php

扩展阅读

加个好友,技术交流

1628738909466805.jpg