循环显示数组的下一个和上一个键

扬·德斯塔(Jan Desta)

我确定您会喜欢它的;)。

我需要一个用于构建导航的功能来浏览书中的页面(其中一些页面可能已经被割裂,并且应该来回循环);它应将链接(以数字形式)输出到给定页面的“下一页”和“上一页”。

将接收数组和输入键的函数应吐出数组给定键的值以及“ next”和“ previous”值的值。但是,如果给定键是数组中的第一个键,则应将数组的最后一个键输出为“上一个”。同样,如果接收到最后一个密钥,则应将第一个密钥输出为“ next”。

这是我到目前为止的内容:

$pages = array(5, 1, 6, 8);
sort($pages);

$selected = 1; // that's second key (value:5, next:6, previous:1)
// $selected = 3; // that's forth and a last key (value:8, should return next:1, previous:6)

$selected = key($pages)+$selected;

while ($pointer = current($pages)) {

if ($selected == key($pages) ) {
        echo $pointer." - current <br>";
    }
elseif($selected+1 == key($pages) ){
    echo $pointer." - next <br>";
}
elseif($selected-1 == key($pages) ){
    echo $pointer." - previous <br>";
}

else
    echo $pointer."<br>";

    next($pages);
}

这实际上应该可以工作(但不会产生“周期警觉性”)-您可以在http://writecodeonline.com/php/中快速检查-如果描述使您感到困惑,则此代码的输出很容易解释...我相信这是相当正确的容易,但是我没主意,现在是凌晨三点。当然,我需要最简单的解决方案,所以这可能是一种比我选择的方法更简单的方法。

迪瓦卡

我认为这是解决您问题的方法。告诉我它是否在做您想要的事情(有些检查是否超出数组范围将是一件好事:),但让我们坚持简单...):

/* This is from your code */
$pages = array(5, 1, 6, 8);
sort($pages);

$selected = 1; // that's second key (value:5, next:6, previous:1)
$selected = 3; // that's forth and a last key (value:8, should return next:1, previous:6)
/* ... */

$pages_count = count($pages);
$pages_ordered = array();
$pages_ordered["current"] = $pages[$selected];


foreach($pages as $order_number => $page)
{
    if($selected == 0) {
        $pages_ordered["previous"] = $pages[$pages_count - 1];
        $pages_ordered["next"] = $pages[$selected + 1];
    } elseif($selected == ($pages_count - 1)) {
        $pages_ordered["next"] = $pages[0];
        $pages_ordered["previous"] = $pages[$selected - 1];
    } else {
        $pages_ordered["next"] = $pages[$selected + 1];
        $pages_ordered["previous"] = $pages[$selected - 1]; 
    }
}

print_r($pages_ordered);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bootstrap Carousel显示下一个和上一个图像

来自分类Dev

如何移至数组的上一个/下一个索引键

来自分类Dev

将数组映射为上一个,当前和下一个值的元组数组

来自分类Dev

使用“下一个错误”和“上一个错误”循环显示结果

来自分类Dev

引导幻灯片显示上一个和下一个按钮/箭头未显示在中间

来自分类Dev

使用Zend Paginator进行分页,显示上一个,第一个,最后一个,下一个,当前和当前+/- 1

来自分类Dev

显示数组的下一个/上一个项目

来自分类Dev

在js数组中查找下一个和上一个键

来自分类Dev

如何在地图中获取上一个键/值和下一个键/值

来自分类Dev

每个循环参考的VBA上一个和下一个项目

来自分类Dev

Java Swing-如何使下一个和上一个按钮显示数组中对象的变量?

来自分类Dev

循环中的上一个和下一个元素

来自分类Dev

jQueryUI Datepicker上一个和下一个图标未显示

来自分类Dev

获取json数组的下一个和上一个元素

来自分类Dev

如何获取数组中的下一个和上一个元素,Ruby

来自分类Dev

Vim-命令行-上一个和下一个命令键映射

来自分类Dev

尝试使用索引获取数组的上一个和下一个项目

来自分类Dev

分页下一个上一个

来自分类Dev

JWPlayer 6的上一个和下一个按钮未显示

来自分类Dev

WordPress链接分页仅显示下一个和上一个按钮

来自分类Dev

使用下一个和上一个按钮循环遍历li元素

来自分类Dev

在Jekyll中循环上一个和下一个帖子

来自分类Dev

上一个/下一个点击

来自分类Dev

抓取数组中的上一个和下一个元素

来自分类Dev

循环中的上一个和下一个元素

来自分类Dev

带有上一个和下一个按钮的循环显示

来自分类Dev

在 wordpress foreach 循环中,返回当前行 id 和下一个/上一个行 id

来自分类Dev

试图在 symfony 的 PHP 中获取 foreach 循环中的下一个和上一个项目?

来自分类Dev

Python:在循环列表中查找上一个和下一个“True”元素

Related 相关文章

  1. 1

    Bootstrap Carousel显示下一个和上一个图像

  2. 2

    如何移至数组的上一个/下一个索引键

  3. 3

    将数组映射为上一个,当前和下一个值的元组数组

  4. 4

    使用“下一个错误”和“上一个错误”循环显示结果

  5. 5

    引导幻灯片显示上一个和下一个按钮/箭头未显示在中间

  6. 6

    使用Zend Paginator进行分页,显示上一个,第一个,最后一个,下一个,当前和当前+/- 1

  7. 7

    显示数组的下一个/上一个项目

  8. 8

    在js数组中查找下一个和上一个键

  9. 9

    如何在地图中获取上一个键/值和下一个键/值

  10. 10

    每个循环参考的VBA上一个和下一个项目

  11. 11

    Java Swing-如何使下一个和上一个按钮显示数组中对象的变量?

  12. 12

    循环中的上一个和下一个元素

  13. 13

    jQueryUI Datepicker上一个和下一个图标未显示

  14. 14

    获取json数组的下一个和上一个元素

  15. 15

    如何获取数组中的下一个和上一个元素,Ruby

  16. 16

    Vim-命令行-上一个和下一个命令键映射

  17. 17

    尝试使用索引获取数组的上一个和下一个项目

  18. 18

    分页下一个上一个

  19. 19

    JWPlayer 6的上一个和下一个按钮未显示

  20. 20

    WordPress链接分页仅显示下一个和上一个按钮

  21. 21

    使用下一个和上一个按钮循环遍历li元素

  22. 22

    在Jekyll中循环上一个和下一个帖子

  23. 23

    上一个/下一个点击

  24. 24

    抓取数组中的上一个和下一个元素

  25. 25

    循环中的上一个和下一个元素

  26. 26

    带有上一个和下一个按钮的循环显示

  27. 27

    在 wordpress foreach 循环中,返回当前行 id 和下一个/上一个行 id

  28. 28

    试图在 symfony 的 PHP 中获取 foreach 循环中的下一个和上一个项目?

  29. 29

    Python:在循环列表中查找上一个和下一个“True”元素

热门标签

归档