方法:
静的パブリック関数getParents($データは、$ ID){ $ ARR =配列(); {foreachの($ Vとして$データ) IF($ V [ 'ID'] == $番号){ $ [] ARR = $ V。 $編曲= array_merge(自己:: getParents($データは、$ V [ 'PID'])は、$ arrが); } } $ arrがを返します。 }
コール:
<?PHPの 名前空間ホーム\コントローラ。 \コントローラを考えて使用します。 ホーム\ CLAS \ケイトを使用します。 クラスIndexControllerがコントローラ{延び パブリック関数インデックス(){ $データ=配列( '0' =>配列( 、 'ID' => 1 'PID' => 0 )、 '1' =>配列( 'ID' => 2、 => 0 'PID' )、 '2' =>配列 ('ID' => 3、 => 1 'PID' )、 ) )。 // $データ=ケイト:: unlimitedForLevel($データ)。 // $データ=ケイト:: unlimitedForLayer($データ)。 $データ=ケイト:: getParents($データ、4); エコー'<前>'; しますprint_r($データ);死にます; エコー'</ PRE>'; の$ this - >ディスプレイ(); } }
効果: