無限極分類裏面有時候你須要使用遞歸來將pid替換爲對應的上級分類的名稱,提升程序的友好度。php
/** * 給pid添加名稱 * pid爲零即頂級欄目 * 不爲零找出對應欄目id將此欄目名稱賦給下級欄目 * @param $data * @return array */ protected function addPidName($data) { static $ret=array(); foreach($data as $k=>$v){ if($v['pid'] != 0){ foreach ($data as $k1=>$v1){ if ($v['pid'] == $v1['catId']){ $v['pname'] = $v1['name']; $ret[] = $v; break;//爲節約資源,達到目標就中止循環 } } }else{ $v['pname'] = '頂級欄目'; $ret[] = $v; } } $ret = array_reverse($ret);//foreach後得出數組爲反序,須要再次逆排 return $ret; }
另附上php經常使用排序函數:數組