您好,登錄后才能下訂單哦!
本文將為大家詳細介紹“PHP數組轉樹結構以及樹結構轉數組的示例”,內容步驟清晰詳細,細節處理妥當,而小編每天都會更新不同的知識點,希望這篇“PHP數組轉樹結構以及樹結構轉數組的示例”能夠給你意想不到的收獲,請大家跟著小編的思路慢慢深入,具體內容如下,一起去收獲新知識吧。
php是一個嵌套的縮寫名稱,指的是英文超級文本預處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。
public function index() { $data = [ [ 'id'=>1, 'parent_id' => 0, 'name' => '第一個' ], [ 'id'=>2, 'parent_id' => 0, 'name' => '第二個' ], [ 'id'=>3, 'parent_id' => 1, 'name' => '第三個' ], ]; $r = $this->list_to_tree($data); dump($r); }
#數組轉樹結構#
function list_to_tree($list, $root = 0, $pk = 'id', $pid = 'parent_id', $child = 'children'){ // 創建Tree $tree = array(); if (is_array($list)) { // 創建基于主鍵的數組引用 $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] = &$list[$key]; } foreach ($list as $key => $data) { // 判斷是否存在parent $parentId = 0; if (isset($data[$pid])) { $parentId = $data[$pid]; } if ((string)$root == $parentId) { $tree[] = &$list[$key]; } else { if (isset($refer[$parentId])) { $parent = &$refer[$parentId]; $parent[$child][] = &$list[$key]; } } } } return $tree;}
#樹結構轉數組#
function tree_to_list($tree = [], $children = 'children'){ if (empty($tree) || !is_array($tree)) { return $tree; } $arrRes = []; foreach ($tree as $k => $v) { $arrTmp = $v; unset($arrTmp[$children]); $arrRes[] = $arrTmp; if (!empty($v[$children])) { $arrTmp = tree_to_list($v[$children]); $arrRes = array_merge($arrRes, $arrTmp); } } return $arrRes;}
如果你能讀到這里,小編希望你對“PHP數組轉樹結構以及樹結構轉數組的示例”這一關鍵問題有了從實踐層面最深刻的體會,具體使用情況還需要大家自己動手實踐使用過才能領會,如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。