gpt4 book ai didi

php - 在 ajax post 之后在数组中设置当前、上一个、下一个

转载 作者:可可西里 更新时间:2023-11-01 00:58:54 26 4
gpt4 key购买 nike

我有这个 PHP 数组,对应于单击“下一步”时显示的消息。

Array ( [1] => 1 [4] => 4 [5] => 5 [7] => 7 [13] => 13 ) 

首先,#1 显示,#4 是通过 Ajax POST(单击“下一步”)检索的。正如您在此处看到的那样,这是可行的:

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>

最佳答案

这是我的解决方案,我已经为上一个和下一个创建了函数。

<?php
$array = array("1" => "11", "7" => "22", "3" => "33");
function gen_next($array,$currentValue)
{
//get array key from the value
$array_key_from_value = array_search($currentValue, $array);
$string_of_keys = implode('|', array_keys($array));
$array_of_keys = explode('|', $string_of_keys);
for($i=0;$i<count($array_of_keys);$i++)
{
if($array_key_from_value == $array_of_keys[$i])
{
if($i == (count($array_of_keys)-1))
{
return "No next value";//the current index is the last of the array, can't set a next
}
else
{
return $array_of_keys[$i+1];//else return the next index
}
}
}
}
function gen_prev($array,$currentValue)
{
//get array key from the value
$array_key_from_value = array_search($currentValue, $array);
$string_of_keys = implode('|', array_keys($array));
$array_of_keys = explode('|', $string_of_keys);
for($i=0;$i<count($array_of_keys);$i++)
{
if($array_key_from_value == $array_of_keys[$i])
{
if($i == 0)
{
return "No prev value";//the current index is the last of the array, can't set a next
}
else
{
return $array_of_keys[$i-1];//else return the next index
}
}
}
}
?>

用法

var_dump(gen_next($array, '33'));
var_dump(gen_prev($array, '22'));
string 'No next value' (length=13)
string '1' (length=1)

关于php - 在 ajax post 之后在数组中设置当前、上一个、下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33169071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com