需求拿到数组中的id放在一个数组中:

首先我自己写了一个方法:
function getID($arr){
$id = [];
foreach($arr as $key => $val){
$id[] = $val['id'];
if(is_array($val['child'])){
echo '1'."<br/>";
$this->getID($val['child']);
}
}
return $id;
}
结果是

由此可知 每次$id这个数组都被重新赋为空数组 , 估结果 数组 只有一个值
因此采取的方法 把这个id数组变为静态变量
我用的laravel
function getID($arr){
foreach($arr as $key => $val){
self::$type_id[] = $val['id'];
if(is_array($val['child'])){
$this->getID($val['child']);
}
}
return self::$type_id;
}
成功! 得到了我想要的数组
本文介绍了一种在PHP中从嵌套数组递归提取特定字段(如'id')到新数组的方法。通过将数组中的'id'字段收集到一个静态变量数组中,确保了所有层级的'id'都能被正确提取,解决了递归过程中数组重复初始化的问题。
544

被折叠的 条评论
为什么被折叠?



