我正在尝试在动态数组中获取上一个和下一个值,因此我可以在指向下一页和上一页的链接上设置这些值。我从我的数据库中获取动态数组,并返回我现在所在类别的ID。
作为一个例子,我在第6页的食物类别为食物,而数组中则填充了食物类别的其他页面的ID。
我的数组工作并返回正确的值但是当我尝试从当前ID获取上一个和下一个ID时,它什么都不返回。
以下是我如何填充数组和数组的var_dump以及如何尝试获取上一个和下一个值的代码。
$results = array();
while($row = mysql_fetch_array($result)){
$results[$row[0]] = $row[0];
}
array(3) {
[1]=> string(1) "1"
[4]=> string(1) "4"
[6]=> string(1) "6"
}
$index = array_search($id, $results);
if($index !== FALSE){
$prev = $results[$index + 1];
$next = $results[$index - 1];
}
变量$ next和$ prev什么都不返回,但是当我检查$ results [$ index]时,它会从当前页面返回正确的ID。我真的看不出出了什么问题。
答案 0 :(得分:0)
这样的代码怎么样?
$results = array();
while($row = mysql_fetch_array($result)){
$results[] = $row[0];
}
$index = array_search($id, $results);
if ($index !== FALSE){
$prev = $results[$index + 1];
$next = $results[$index - 1];
}
你遇到的问题是: 4 - 1!= 1 和 4 + 1!= 6
这就是为什么你得到NULL和通知(或者你得到通知而没看到它们)。