您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關php高效找出所有下級的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
PHP高效的取出所有下級:
遞歸取出所有下級:
<?php $data = [ [ 'uid' => 1, 'username' => '155', 'parent_username' => '0' ], [ 'uid' => 2, 'username' => '186', 'parent_username' => '155' ], [ 'uid' => 3, 'username' => '189', 'parent_username' => '186' ], [ 'uid' => 4, 'username' => '188', 'parent_username' => '155' ], [ 'uid' => 5, 'username' => '187', 'parent_username' => '188' ], [ 'uid' => 6, 'username' => '1898', 'parent_username' => '146' ], ]; /** * 獲取所有下級 * [getTree description] * @param [type] $data [description] * @param string $parent_username [description] * @return [type] [description] */ //有層次,返回所有下級數據 function getTree($data, $parent_username = '0') { $arr = []; foreach($data as $key => $val){ if($val['parent_username'] == $parent_username){ $val['children'] = getTree($data, $val['username']); $arr[] = $val; } } return $arr; } //無層次,僅返回id function getTree($data, $parent_username = '0', $is_first_time = true) { static $arr = []; if ($is_first_time) { $arr = []; } foreach ($data as $key => $val) { if ($val['parent_username'] == $parent_username) { $arr[] = $val['uid']; getTree($data, $val['username'], false); } } return $arr; } echo '<pre>'; print_r(getTree($data)); ?>
感謝各位的閱讀!關于php高效找出所有下級的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。