您好,登錄后才能下訂單哦!
本文將為大家詳細(xì)介紹“PHP數(shù)組轉(zhuǎn)樹結(jié)構(gòu)以及樹結(jié)構(gòu)轉(zhuǎn)數(shù)組的示例”,內(nèi)容步驟清晰詳細(xì),細(xì)節(jié)處理妥當(dāng),而小編每天都會(huì)更新不同的知識點(diǎn),希望這篇“PHP數(shù)組轉(zhuǎn)樹結(jié)構(gòu)以及樹結(jié)構(gòu)轉(zhuǎn)數(shù)組的示例”能夠給你意想不到的收獲,請大家跟著小編的思路慢慢深入,具體內(nèi)容如下,一起去收獲新知識吧。
php是一個(gè)嵌套的縮寫名稱,指的是英文超級文本預(yù)處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因?yàn)閜hp是開源的,從而使得php經(jīng)久不衰。
public function index() { $data = [ [ 'id'=>1, 'parent_id' => 0, 'name' => '第一個(gè)' ], [ 'id'=>2, 'parent_id' => 0, 'name' => '第二個(gè)' ], [ 'id'=>3, 'parent_id' => 1, 'name' => '第三個(gè)' ], ]; $r = $this->list_to_tree($data); dump($r); }
#數(shù)組轉(zhuǎn)樹結(jié)構(gòu)#
function list_to_tree($list, $root = 0, $pk = 'id', $pid = 'parent_id', $child = 'children'){ // 創(chuàng)建Tree $tree = array(); if (is_array($list)) { // 創(chuàng)建基于主鍵的數(shù)組引用 $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;}
#樹結(jié)構(gòu)轉(zhuǎn)數(shù)組#
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數(shù)組轉(zhuǎn)樹結(jié)構(gòu)以及樹結(jié)構(gòu)轉(zhuǎn)數(shù)組的示例”這一關(guān)鍵問題有了從實(shí)踐層面最深刻的體會(huì),具體使用情況還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想閱讀更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。