过去几天我一直在网上寻找解决我问题的方法,但到目前为止还没有。我有一个页面数组,我需要处理作为分页,这是显示我的过去项目和下一项目。数组内容可能会根据您查看的部分而改变,但设置始终相同。
我的阵列:
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,而slug是url。为了解释我正试图用这个阵列做什么,我把几个例子写成了我想做的事情:
localhost/kafli1
,我会看到下一个项目是
localhost/kafli1/serhljodar
(密钥#21)和之前的项目。localhost/kafli1/serhljodar
我应该看到下一个
item是localhost/kafli1/serhljodar/aefing1
和前一项
是localhost/kafli
。localhost/kafli/serhljodar/prof1
(ID#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');
如果数组是问题,我怎么能成功地从这些帖子中创建一个分页数组,所以parent_id对齐它本身在正确的id下,所以我可以得到:
Array
(
[0] => islenska-stig1
[1] => kafli1
[2] => serhljodar
[3] => aefing1
[4] => prof1
[5] => samhljodar
[6] => malnotkun
[6] => kafli2
)
答案 0 :(得分:0)
我怀疑你的数组结构是个问题。
听起来好像你正在尝试将多维数组用作线性数组。所以我的建议是你遍历所有内容,将每个项目推送到一个单维数组中。并使用currentIndex + - 1
引用您的上一个和下一个项目答案 1 :(得分:0)
我怀疑您正在寻找的数据结构类型是双向链表。它表示具有下一个元素和前一个元素的指针的元素列表。
查看此链接以查看其是否符合您的要求: