0

我试图在动态数组中获取上一个和下一个值,以便我可以在指向下一页和上一页的链接上设置这些值。我从我的数据库中获取动态数组并返回我现在所在类别的 ID。

例如,我在页面 ID 6 上的类别为 Food,而不是数组中填充了其他类别为 Food 的页面的 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。我真的看不到出了什么问题。

4

1 回答 1

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 和通知(或者您收到通知但看不到它们)。

于 2013-05-30T22:10:36.483 回答