2012-04-09 67 views
1

我一直在尋找互聯網過去幾天來解決我的問題,但迄今爲止一無所獲。我有一系列頁面需要作爲分頁處理,即顯示過去的項目和下一個項目。數組內容可以根據您觀看的部分而改變,但設置始終相同。在mutlidimention數組中查找最後和下一個項目

我的數組:

Array 
(
    [19] => Array 
     (
      [titill] => Kafli 1 
      [slug] => kafli1 
      [undir] => Array 
       (
        [21] => Array 
         (
          [titill] => 1.1 Serhljodar 
          [slug] => serhljodar 
          [kaflar] => Array 
           (
            [0] => Array 
             (
              [id] => 24 
              [titill] => Æfing 1 
              [slug] => aefing1 
             ) 

            [1] => Array 
             (
              [id] => 25 
              [titill] => Æfing 2 
              [slug] => æfing2 
             ) 

            [2] => Array 
             (
              [id] => 26 
              [titill] => Próf 1 
              [slug] => prof1 
             ) 

           ) 

         ) 

        [22] => Array 
         (
          [titill] => 1.2. Samhljóðar 
          [slug] => samhljodar 
         ) 

        [23] => Array 
         (
          [titill] => 1.3 Málnotkun 
          [slug] => malnotkun 
         ) 

       ) 

     ) 

    [20] => Array 
     (
      [titill] => Kafli 2 
      [slug] => kafli2 
     ) 

) 

數組鍵是POST_ID的和蛞蝓的是網址。爲了解釋什麼,我想用這陣我已經writtend下來我想要做一些例子來acchieve:

  • 如果我觀看localhost/kafli1我想看到的下一個項目是 localhost/kafli1/serhljodar(關鍵#21)和沒有以前的項目。
  • 如果我正在查看localhost/kafli1/serhljodar我應該看到下一個 項目是localhost/kafli1/serhljodar/aefing1和前一個項目 是localhost/kafli
  • 如果8'm觀看localhost/kafli/serhljodar/prof1 (編號26)我應該看到的是,下一個項目是localhost/kafli1/samhljodar和以前的產品localhost/kafli1/serhljodar/aefing2

我被告知要使用array_slice但到目前爲止,還沒有得到了很多幫助。你能幫助我解決這個問題嗎?


編輯: 有人說,陣列本身的問題。以下是該陣列從填充SQL:

INSERT INTO `posts` (`id`, `parent_id`, `category`, `position`, `post_slug`, `titill`) VALUES 
(9, 0, 3, 0, 'islenska-stig1', 'Íslenska stig 1'), 
(19, 9, 3, 0, 'kafli1', 'Kafli 1'), 
(20, 9, 3, 0, 'kafli2', 'Kafli 2',), 
(21, 19, 3, 0, 'serhljodar', '1.1 Serhljodar'), 
(22, 19, 3, 0, 'samhljodar', '1.2. Samhljóðar'), 
(23, 19, 3, 0, 'malnotkun', '1.3 Málnotkun'), 
(24, 21, 3, 1, 'aefing1', 'Æfing 1'), 
(26, 21, 3, 3, 'prof1', 'Próf 1'); 

如果數組是我怎樣才能成功地創建一個分頁排列這些崗位的,因此正確的ID下的PARENT_ID對齊的本身,所以我可以得到這個問題:

Array 
(
    [0] => islenska-stig1 
    [1] => kafli1 
    [2] => serhljodar 
    [3] => aefing1 
    [4] => prof1 
    [5] => samhljodar 
    [6] => malnotkun 
    [6] => kafli2 
) 
+0

是像'電流()','的next()','結束()'不適合這個功能呢? – 2012-04-09 14:56:05

回答

0

我懷疑數組的結構是否是問題。

聽起來好像你正在嘗試使用多維數組作爲線性數組。所以我的建議是,你遍歷所有東西,將每個項目推入單維數組。並只參考你的上一個和下一個項目currentIndex + - 1

+0

我也這麼想過。但我不知道如何設置它,否則不打開三個或四個連接到數據庫。我已經更新了我的問題。 – dansige 2012-04-09 15:12:30

0

我懷疑你正在尋找的數據結構的類型是雙向鏈表。它代表了一個有下一個元素和前一個元素的指針的元素列表。

看看這個鏈接,看看它是否符合您的要求:

http://php.net/manual/en/class.spldoublylinkedlist.php

+0

聽起來很有趣......但不太清楚如何測試或實施它:/ – dansige 2012-04-09 15:42:27

相關問題