繁体   English   中英

php 如何导航到数组中的上一个和下一个值

[英]php how to navigate to previous and next value in an array

我有一个blog_id数组,我想导航到该数组中的上一个和下一个blog_id

foreach($blog_ids as $blog_id) {
    echo $blog_id.'<br />';
}
// output:
id_20200523214047
id_20200523003107
id_20200521125410
id_20200521123813
id_20200514222532

从当前页面,我使用$_GET['page'];获取 ID。

echo $_GET['page'];
// ouput
id_20200521125410 (3rd value of array)

我现在如何从我的当前 id 导航到该数组中的上一个下一个值? 上一个应该是: id_20200523003107 ,下一个应该是id_20200521123813

如果您的数组具有连续的 integer 键,则获取当前键,然后加或减一个。 如果它已经在第一个 position 则返回最后一个,或者如果它在最后一个 position 则返回第一个。 这可能不是您想要的行为,所以只需更改??之后的内容。 如果下一个或上一个不存在,则为您想要的任何内容:

$key  = array_search($_GET['page'], $blog_ids);
$prev = $blog_ids[$key-1] ?? end($blog_ids);
$next = $blog_ids[$key+1] ?? reset($blog_ids);

对于其他 arrays 只需先重新索引:

$blog_ids = array_values($blog_ids);

此外,在重新索引和搜索后,您可以获得所有 3 个:

list($prev, $curr, $next) = array_slice($blog_ids, $key-1, 3);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM