Array ( [1] => 1 [4] => 4 [5] => 5 [7] => 7 [13] => 13 )
首先,显示#1,其中通过Ajax POST(单击“下一步”)检索#4.如您所见,这可行:
if(isset($_POST['mssID'])) { $current_message = $_POST['nextKey']; }
// the message with that ID shows
然后,问题是我不能在发布后的同一数组中设置当前键(#4).
下一个问题是我无法在数组中设置prev()和next().
有人知道如何设置正确的current(),prev()和next()吗?
$current_message == 4时的预期输出:
<div>message #4</div>
<a href="1">prev</a> | <a href="5">next</a>
解决方法:
你可以这样
$array = array( 1 => 1, 4 => 4, 5 => 5, 7 => 7, 13 => 13 ) ;
// your initial array
$current_message = 4;
// current is 4
$keys = array_keys($array);
// make array indexed from 0
$search = array_search($current_message , $keys);
// search inside indexed array the key
$prev = $next = 0; // initailize to 0
if($current_message != reset($array)) // check if current is not first
$prev = $keys[$search-1];
if($current_message != end($array)) // check if current is not last
$next = $keys[$search+1];
var_dump($prev,$next);
会给你
int(1)
int(5)
但是,如果您在填充数组时对数组进行索引,那将少一行.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。