如上图所示
foreach中的数组用法是传值方式,是对数组的副本进行操作,foreach中的任何改动都不会影响到原数组,除非手动指定传地址方式,如下
$arr = [-1, 12, -123, 123];
foreach($arr as $key => &$value){ //使用&符号指定此次foreach为传地址的方式,操作原数组
if($value < 0){
unset($value);
}
}
var_dump($arr);
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答815 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答703 阅读✓ 已解决
unset
是取消了变量名value
和数组arr
中每个遍历元素的引用,所以并不会销毁arr
数组中的元素,如果你需要删除数组中的元素,可以unset($arr[$key]);