根据Hunter F的回答,我的问题的解决方案几乎已经完成。 只需要几个调整。
我稍微修改了代码,并在php array help required - if current array item = 'last or first item' then 'do something'
处提交了一个新问题原始信息:
我希望能够创建一个带有PREV和NEXT链接的简单导航栏,我可以使用它来循环浏览页面列表。导航栏将在所有要循环的页面中包含php。
所以我想起点是创建一个需要使用PREV NEXT链接循环的页面数组。
比如......
$projectlist = array(
'http://domain.com/monkey/',
'http://domain.com/tiger/',
'http://domain.com/banana/',
'http://domain.com/parrot/',
'http://domain.com/aeroplane/',
);
我想选择重新订购,添加或删除链接。因此,拥有一个这样的自包含主数组对我来说似乎是一个合乎逻辑的选择,因为我只需要为将来的任何添加更新这个列表。
链接到的每个目录都有自己的index.php文件,所以我从链接末尾离开了index.php部分,因为它不需要......或者是它?
......关于如何从这里继续,我感到非常难过。
我想我需要确定我当前所在阵列中的哪个页面,然后根据它生成PREV和NEXT链接。所以如果我从'http://domain.com/parrot/'输入,我需要链接到相关的PREV和NEXT页面。
非常感谢在下一阶段为我提供指导的任何帮助或信息。
答案 0 :(得分:1)
$currentPath = explode('?', $_SERVER['REQUEST_URI']); //make sure we don't count any GET variables!
$currentPath = $currentPath[0]; //grab just the path
$projectlist = array(
'/monkey/',
'/tiger/',
'/banana/',
'/parrot/',
'/aeroplane/',
);
if(! in_array($currentPath, $projectlist) ) {
die('Not a valid page!'); //they didn't access a page in our master list, handle error here
}
$currentPageIndex = array_search($currentPath, $projectlist);
if($currentPageIndex == 0) { //if it's on the first page, we want them to go to the last page
$prevlink = '<a href="'.$projectlist[ sizeof($projectlist)-1].'">Prev</a>';
} else { //otherwise just go to the n-1th page
$prevlink = '<a href="'.$projectlist[$currentPageIndex-1].'">Prev</a>';
}
if($currentPageIndex == sizeof($projectlist)-1 ) { //if we're on the last page, have them go to the first page for "next"
$nextlink = '<a href="'.$currentPageIndex[0].'">Next</a>';
} else {
$nextlink = '<a href="'.$projectlist[$currentPageIndex+1].'">Next</a>';
}
您可能想要考虑的一件事是urlencoding链接中的href目标。