foreach里面的unset
无限级分类 迭代法查看子孙树
function subtree($arr,$parent){
$subs = array();
$task = array($parent);
while(!empty($task)){
$flag = false; //$flag初始化为假
foreach($arr as $k=>$v){
if($v['parent'] == $parent){
$subs[] = $v;
$parent = $v['id'];
array_push($task,$v['id']);
unset($arr[$k]); //为什么此处要用unset??????
$flag = true; //找到子栏目
}
}
if($flag == false){
array_pop($task);
$parent = end($task);
}
print_r($task);
}
return $subs;
}
...全文
相关推荐
php foreach 使用&(与运算符)引用赋值要注意的问题
为了避免这种情况,可以在使用引用后立即使用unset()函数来断开引用关系,确保引用不再影响原始数组。
PHP的foreach中使用引用时需要注意的一个问题和解决方法
### 解决方法针对上述问题,一个简单有效的解决方法是在使用引用的foreach循环结束后,使用unset()函数来销毁引用变量$v:```php<?
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
**方法一:foreach遍历后unset删除** 这是最直观且最常用的删除方式。通过`foreach`循环遍历数组,如果当前元素的值等于目标值,则使用`unset()`函数移除该元素。
深入解析php中的foreach问题
为了防止引用带来的副作用,建议在foreach循环结束后使用unset()函数来销毁这些引用。这样可以确保数组在使用后的状态与预期相符,避免不可预见的错误。
浅谈PHP中foreach/in_array的使用
如果确实需要修改,应当在操作结束后调用unset函数来销毁引用变量,以避免后续代码中对同一变量的引用受到影响,从而导致意外的值被读取。


基础编程
