搜尋
首頁後端開發php教程三級分類 like查詢 查詢到很多id 需要找到對應的父級id 並根據父級id組合 應該怎麼根據父級id將資料組合在一起呢?

這是取得到的資料 父級id為parent_id

<code>Array
(
    [0] => Array
        (
            [department_id] => 1
            [parent_id] => 0
            [department_code] => xsb1
            [department_name] => 销售部1
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [1] => Array
        (
            [department_id] => 2
            [parent_id] => 1
            [department_code] => xs1q
            [department_name] => 销售1区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [2] => Array
        (
            [department_id] => 3
            [parent_id] => 2
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [3] => Array
        (
            [department_id] => 4
            [parent_id] => 2
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [4] => Array
        (
            [department_id] => 5
            [parent_id] => 2
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [5] => Array
        (
            [department_id] => 6
            [parent_id] => 2
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [6] => Array
        (
            [department_id] => 7
            [parent_id] => 1
            [department_code] => xs2q
            [department_name] => 销售2区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [7] => Array
        (
            [department_id] => 8
            [parent_id] => 7
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [8] => Array
        (
            [department_id] => 9
            [parent_id] => 7
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [9] => Array
        (
            [department_id] => 10
            [parent_id] => 7
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [10] => Array
        (
            [department_id] => 11
            [parent_id] => 7
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [11] => Array
        (
            [department_id] => 12
            [parent_id] => 0
            [department_code] => xsb2
            [department_name] => 销售部2
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [12] => Array
        (
            [department_id] => 13
            [parent_id] => 12
            [department_code] => xs3q
            [department_name] => 销售3区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [13] => Array
        (
            [department_id] => 14
            [parent_id] => 13
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [14] => Array
        (
            [department_id] => 15
            [parent_id] => 13
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [15] => Array
        (
            [department_id] => 16
            [parent_id] => 13
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [16] => Array
        (
            [department_id] => 17
            [parent_id] => 13
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [17] => Array
        (
            [department_id] => 18
            [parent_id] => 12
            [department_code] => xs4q
            [department_name] => 销售4区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [18] => Array
        (
            [department_id] => 19
            [parent_id] => 18
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [19] => Array
        (
            [department_id] => 20
            [parent_id] => 18
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039208
            [add_user_id] => 1
            [edit_time] => 1470039208
            [edit_user_id] => 1
        )

    [20] => Array
        (
            [department_id] => 21
            [parent_id] => 18
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039208
            [add_user_id] => 1
            [edit_time] => 1470039208
            [edit_user_id] => 1
        )

    [21] => Array
        (
            [department_id] => 22
            [parent_id] => 18
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039208
            [add_user_id] => 1
            [edit_time] => 1470039208
            [edit_user_id] => 1
        )

)</code>

這個還是三級分類有可能搜到的是最後一級 那還要找兩個等級 怎麼去合併啊

回覆內容:

這是取得到的資料 父級id為parent_id

<code>Array
(
    [0] => Array
        (
            [department_id] => 1
            [parent_id] => 0
            [department_code] => xsb1
            [department_name] => 销售部1
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [1] => Array
        (
            [department_id] => 2
            [parent_id] => 1
            [department_code] => xs1q
            [department_name] => 销售1区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [2] => Array
        (
            [department_id] => 3
            [parent_id] => 2
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [3] => Array
        (
            [department_id] => 4
            [parent_id] => 2
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [4] => Array
        (
            [department_id] => 5
            [parent_id] => 2
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [5] => Array
        (
            [department_id] => 6
            [parent_id] => 2
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [6] => Array
        (
            [department_id] => 7
            [parent_id] => 1
            [department_code] => xs2q
            [department_name] => 销售2区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [7] => Array
        (
            [department_id] => 8
            [parent_id] => 7
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [8] => Array
        (
            [department_id] => 9
            [parent_id] => 7
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [9] => Array
        (
            [department_id] => 10
            [parent_id] => 7
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [10] => Array
        (
            [department_id] => 11
            [parent_id] => 7
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [11] => Array
        (
            [department_id] => 12
            [parent_id] => 0
            [department_code] => xsb2
            [department_name] => 销售部2
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [12] => Array
        (
            [department_id] => 13
            [parent_id] => 12
            [department_code] => xs3q
            [department_name] => 销售3区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [13] => Array
        (
            [department_id] => 14
            [parent_id] => 13
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [14] => Array
        (
            [department_id] => 15
            [parent_id] => 13
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [15] => Array
        (
            [department_id] => 16
            [parent_id] => 13
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [16] => Array
        (
            [department_id] => 17
            [parent_id] => 13
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [17] => Array
        (
            [department_id] => 18
            [parent_id] => 12
            [department_code] => xs4q
            [department_name] => 销售4区
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [18] => Array
        (
            [department_id] => 19
            [parent_id] => 18
            [department_code] => xs1ks
            [department_name] => 销售1科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039207
            [add_user_id] => 1
            [edit_time] => 1470039207
            [edit_user_id] => 1
        )

    [19] => Array
        (
            [department_id] => 20
            [parent_id] => 18
            [department_code] => xs2ks
            [department_name] => 销售2科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039208
            [add_user_id] => 1
            [edit_time] => 1470039208
            [edit_user_id] => 1
        )

    [20] => Array
        (
            [department_id] => 21
            [parent_id] => 18
            [department_code] => xs3ks
            [department_name] => 销售3科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039208
            [add_user_id] => 1
            [edit_time] => 1470039208
            [edit_user_id] => 1
        )

    [21] => Array
        (
            [department_id] => 22
            [parent_id] => 18
            [department_code] => xs4ks
            [department_name] => 销售4科室
            [department_phone] => 
            [department_cornet] => 
            [department_description] => 
            [department_sort] => 0
            [is_delete] => 1
            [department_status] => 1
            [add_time] => 1470039208
            [add_user_id] => 1
            [edit_time] => 1470039208
            [edit_user_id] => 1
        )

)</code>

這個還是三級分類有可能搜到的是最後一級 那還要找兩個等級 怎麼去合併啊

只想到用foreach 將相同父id的資料放到同一個以parent_id為key的數組內,如果要父級資訊的話還可以進行次邏輯判斷

<code>$result =[]

foreach($list as $key => $val){
    if($val['parent_id'] != 0) {
         $result[$val['parent_id']][] = $val;
    }
}
</code>

1、增加一個path字段,表示從根節點到葉子節點的路徑例如 1.3.7

要求是搜尋 然後找出搜尋結果的所有父級和子集 樹狀圖顯示 關鍵字標紅

我的做法是
1.創建新數組用來保存所有需要展示的數據的id 初始數據為查詢到的id
2.先根據查詢id找到所有父級放在新數組
3.根據id查詢所有子集id 這裡可能是多個我是循環用array_unshift 放進新數組
4.給新數組的id去重(我這裡最終組合的是一個一維數組)
5.循環數組id查詢所有數據
6 .進行分類組合

感謝回答的朋友 有更好的辦法請分享出來 哈哈

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

您如何從PHP會話中檢索數據?您如何從PHP會話中檢索數據?May 01, 2025 am 12:11 AM

ToretrievedatafromaPHPsession,startthesessionwithsession_start()andaccessvariablesinthe$_SESSIONarray.Forexample:1)Startthesession:session_start().2)Retrievedata:$username=$_SESSION['username'];echo"Welcome,".$username;.Sessionsareserver-si

您如何使用會議來實施購物車?您如何使用會議來實施購物車?May 01, 2025 am 12:10 AM

利用會話構建高效購物車系統的步驟包括:1)理解會話的定義與作用,會話是服務器端的存儲機制,用於跨請求維護用戶狀態;2)實現基本的會話管理,如添加商品到購物車;3)擴展到高級用法,支持商品數量管理和刪除;4)優化性能和安全性,通過持久化會話數據和使用安全的會話標識符。

您如何在PHP中創建和使用接口?您如何在PHP中創建和使用接口?Apr 30, 2025 pm 03:40 PM

本文解釋瞭如何創建,實施和使用PHP中的接口,重點關注其對代碼組織和可維護性的好處。

crypt()和password_hash()有什麼區別?crypt()和password_hash()有什麼區別?Apr 30, 2025 pm 03:39 PM

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

如何防止PHP中的跨站點腳本(XSS)?如何防止PHP中的跨站點腳本(XSS)?Apr 30, 2025 pm 03:38 PM

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。