昔使われていた、再帰的な考え方を使ったPHPの無線分類方法をここで皆さんに共有します
//$dataはデータベースから取り出した分類データ、$pidは上位分類ID、 $level は分類レベルです。ここではレベル 10 に限定されています。$keyword はカテゴリ名です
function genCate($data, $pid =0, $level = 0,$keyword) { if($level ==10)break; $l = str_repeat(" ", $level); $l = $l.'└'; static $arrcat = array(); $arrcat =empty($level) ? array() :$arrcat; foreach($data as $k => $row) { if($row['pid']==$pid) { $row[$keyword] = $l.$row[$keyword]; $row['level'] =$level; $arrcat[] = $row; genCate($data,$row['id'], $level+1,$keyword); } } return $arrcat; }
以上、内容の側面も含めて PHP のワイヤレス分類を紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。