首先感謝陣列計算器提供這種plattform和你,給一個新手幫助;-)PHP創建具有不同排序字段
現在.. 我有2個表:頁面和分區 每有一個自己的ID。 頁面有一個或多個部分。 一節恰好屬於1頁。 這兩個ID列表順序在不同的領域進行處理。
我讀表和創建(未排序的)陣列。 我最後需要的是一個排序列表如下圖所示,有正確順序的PAGE_ID的和SECTION_ID的..
這裏我在tarray的例子檢索後的數據:
myArr[] = array(page_id=>2, section_id=>2, parent_id=>0, level=>0, page_seq=>1, section_seq=>2, page_title=>p1);
myArr[] = array(page_id=>2, section_id=>9, parent_id=>0, level=>0, page_seq=>1, section_seq=>1, page_title=>p1);
myArr[] = array(page_id=>3, section_id=>3, parent_id=>0, level=>0, page_seq=>2, section_seq=>1, page_title=>p2);
myArr[] = array(page_id=>4, section_id=>4, parent_id=>0, level=>0, page_seq=>3, section_seq=>1, page_title=>p3);
myArr[] = array(page_id=>5, section_id=>5, parent_id=>3, level=>1, page_seq=>3, section_seq=>1, page_title=>p2-3);
myArr[] = array(page_id=>6, section_id=>6, parent_id=>3, level=>1, page_seq=>2, section_seq=>1, page_title=>p2-2);
myArr[] = array(page_id=>7, section_id=>7, parent_id=>4, level=>1, page_seq=>1, section_seq=>1, page_title=>p3-1);
myArr[] = array(page_id=>8, section_id=>8, parent_id=>7, level=>2, page_seq=>1, section_seq=>1, page_title=>p3-1-1);
myArr[] = array(page_id=>9, section_id=>10, parent_id=>5, level=>2, page_seq=>1, section_seq=>1, page_title=>p2-1-1);
myArr[] = array(page_id=>9, section_id=>11, parent_id=>5, level=>2, page_seq=>1, section_seq=>2, page_title=>p2-1-1);
myArr[] = array(page_id=>10, section_id=>12, parent_id=>3, level=>1, page_seq=>1, section_seq=>1, page_title=>p2-1);
我的問題是排序。
- section_seq是頁面內的部分的序列。
- 的page_seq是相同的父級別內的頁的順序。
我在這裏已經找到了一些rekursive循環的例子,但是 - 說實話 - 我無法使它們適應我的需求。而且,我需要一個rekursive循環嗎?
應該是什麼我數組的鍵:SECTION_ID,因爲它是所有網頁獨特之處? 如何做正確的排序?
只是要注意的是:在網頁標題可以遺憾的是沒有使用 - 上面的例子 - 用於排序目的;-),因爲它是免費的文字...
所以我需要的是:
- 讀出的第一頁(1)用0級和page_seq = 1
- 讀出的第一頁(2),其具有水平1 -if exists-配頁(1)作爲親和page_seq = 1
- 讀出的第一具有級別2的頁面(3) - 如果存在 - 以頁面(2)爲父級,並且page_seq = 1
- ...繼續只要沒有更多的更深層次的存在
- 讀取的第二頁(4),其具有水平2 -if exists-與頁面(2)作爲親和page_seq = 1
- ...繼續如只要沒有更多的更深層次的存在,也可以作爲親本具有水平頁面(2)上沒有更多頁
- 讀取的第二頁(5),其具有水平1 -if exists-配頁(1)作爲親和page_seq = 1
- ...只要沒有更深的級別存在並且在該級別上沒有頁面(5)作爲父級,則不再有更多頁面
- 閱讀第二頁(6),級別0和page_seq = 2
- 等。
任何強大的幫助&想法?
在此先感謝 沃爾夫岡
我很難理解這個問題。你想按page_title排序嗎?如果是這樣,只需使用升序字母排序。 – erisco
我很難看到你在實例中實際排序的內容。 – MatsLindh
如果我在填充原始數組後檢查原始數組,那麼它將按page_id排序。 正如我上面寫的,我不能使用頁面標題,因爲它是自由文本幷包含任何內容。它只是用來顯示我想要的東西。 – user2037828