当前位置: 首页 > 后端技术 > PHP

关于foreach的两条记录

时间:2023-03-29 21:25:23 PHP

1.空操作是否需要判断?一般在遍历数组之前,会判断数组是否为空,如下$arr=[];if(empty($arr)){return;}foreach($arras$value){//code}中其实foreach已经做了判断。如果数组为空,则foreach不会再走,如下$arr=[];foreach($arras$value){//这里不走}所以不需要判断空冗余代码。2.foreach$my_array=array("one","two","three","four");的引用赋值;foreach($my_arrayas&$my_item){}foreach($my_arrayas$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的变化而变化。