如果您有一系列页面名称,如下所示:
$array = ["home.php", "about.php", "contact.php"];
用户将登陆“home.php”,并有一个按钮进入下一页,即“about.php”。然后,about页面将有一个前一个按钮转到“home.php”,另一个按钮将转到“contact.php”。
我试图通过推送和弹出值来使用Stack,但我没有运气。我很感激,如果有人建议替代方案,但我想使用堆栈。
答案 0 :(得分:0)
只需检查当前页面的数组索引并相应地构建上一个/下一个链接:
$array = ["home.php", "about.php", "contact.php"];
$cp = basename($_SERVER['PHP_SELF']);
$ci = array_search($cp, $array);
if($ci > 0){
echo '<a href="'.$array[$ci-1].'">Prev page</a>';
}
if($ci < count($array)-1){
echo '<a href="'.$array[$ci+1].'">Next page</a>';
}
答案 1 :(得分:0)
您可以使用array_search查找数组中当前页面的位置。然后检查它是否有任何邻居,如:
$array = ["home.php", "about.php", "contact.php"];
// Get the location of the current page in $array
$currentPageKey = array_search(basename($_SERVER['SCRIPT_NAME']), $array);
// See if there is a key prior to this. If so, get it's value
$previousPage = array_key_exists($currentPageKey - 1, $array)
? $array[$currentPageKey - 1]
: null;
// See if there is a key after this. If so, get it's value
$nextPage = array_key_exists($currentPageKey + 1, $array)
? $array[$currentPageKey + 1]
: null;
然后你可以做类似
的事情if (!is_null($previousPage)) {
echo '<a href="' . $previousPage . '">Previous</a>';
}
if (!is_null($nextPage)) {
echo '<a href="' . $nextPage . '">Next</a>';
}