ホームページ >バックエンド開発 >PHPチュートリアル >PHP 再帰的走査による無限分類の実現
この記事では主に無限分類を実現するための PHP 再帰走査について紹介します。興味のある方はぜひ参考にしてください。
無限レベル分類は、分類手法の 1 つです。たとえば、部門の組織化、記事の分類、主題の分類などによく使用されます。単純に分類と理解できます。実際、よく考えてみると、服は紳士服と婦人服、トップスとパンツに分けることができ、また年齢層によっても分類することができます。分類はどこにでも存在し、分類は「無限」であるように見えます。無限分類の必要性についてはここでは話しません。
この記事の例では、php 再帰を使用して無限分類を実現する方法を説明しています。詳細は次のとおりです。
<?php $rows = array( array( 'id' => 1, 'name' => 'dev', 'parentid' => 0 ), array( 'id' => 2, 'name' => 'php', 'parentid' => 1 ), array( 'id' => 3, 'name' => 'smarty', 'parentid' => 2 ), array( 'id' => 4, 'name' => 'life', 'parentid' => 0 ), array( 'id' => 5, 'name' => 'pdo', 'parentid' => 2 ), array( 'id' => 6, 'name' => 'pdo-mysql', 'parentid' => 5 ), array( 'id' => 7, 'name' => 'java', 'parentid' => 1 ) ); // 72648 // 84072 function findChild(&$arr,$id){ $childs=array(); foreach ($arr as $k => $v){ if($v['parentid']== $id){ $childs[]=$v; } } return $childs; } function build_tree($root_id){ global $rows; $childs=findChild($rows,$root_id); if(empty($childs)){ return null; } foreach ($childs as $k => $v){ $rescurTree=build_tree($v[id]); if( null != $rescurTree){ $childs[$k]['childs']=$rescurTree; } } return $childs; } $tree=build_tree(0); echo memory_get_usage(); print_r($tree); ?>
要約: 上記は、内容全体です。この記事がすべての人に役立つことを願っています。学習は役立ちます。
関連する推奨事項:
php はファイル拡張子を決定して取得しますいくつかのメソッド
以上がPHP 再帰的走査による無限分類の実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。