标签:UNC 数组 color code 就是 递归的理解 data [] stat
$data = [ [‘pid‘=>0,‘id‘=>1], [‘pid‘=>1,‘id‘=>2], [‘pid‘=>3,‘id‘=>4], [‘pid‘=>0,‘id‘=>3], ];
//对上面的数据进行递归排序(原生的写法) function genCate( $data, $pid = 0) { static $result = array(); foreach ($data as $key => $row) { if ($row[‘pid‘] == $pid) { $result[] = $row;
$parent_id = $row[‘id‘]; foreach($data as $v){ if ($v[‘pid‘] == $parent_id) { $result[] = $v; } }
} } return $result; }
PHP递归的写法
function genCate( $data, $pid = 0) { static $result = array(); foreach ($data as $key => $row) { if ($row[‘pid‘] == $pid) { $result[] = $row; // $parent_id = $row[‘id‘]; genCate($data, $row[‘id‘]); /* foreach($data as $v){ if ($v[‘pid‘] == $parent_id) { $result[] = $v; } }*/ } } return $result; }
其实就是同一个数组两次循环 通过变动的是父id 不断找子元素
浅谈 PHP递归的理解(递归听起来很高端的词汇 其实就是两次循环)
标签:UNC 数组 color code 就是 递归的理解 data [] stat
原文地址:https://www.cnblogs.com/wu-yu/p/9871981.html