好的,所以我有一个名为三个值的数组:
$tutorials = array('introduction', 'get_started', 'basics')
我还有一个链接,例如:
mysite.com/?tutorials=get_started
所以上面的链接似乎是$ tutorials的第一个值,但如果我希望我的主播的href与下一个值相似怎么办?
<a href="?tutorials=basics">Next</a>
这有什么捷径吗?因为我的数组不仅仅是3而是20,我不想一个一个地编辑它们。
我在这里要做的是下一个和上一个链接。请帮忙。
谢谢!
答案 0 :(得分:1)
检索数组中当前项的索引,并添加1以获取以下教程的索引。
不要忘记检查你是否已经在阵列的最新项目上。
<?php
$tutorials = array('introduction', 'get_started', 'basics');
$index = array_search($_GET['tutorials'], $tutorials);
if ($index === FALSE) {
echo 'Current tutorial not found';
} else if ($index < count($tutorials) - 1) {
echo '<a href="?tutorials=' . $tutorials[$index+1] . '">Next</a>';
} else {
echo 'You are already on the latest tutorial available';
}
答案 1 :(得分:1)
这样的事情应该有效:
<?php
$value = $_GET['tutorials']; // get the current
// find it's position in the array
$key = array_search( $value, $tutorials );
if( $key !== false ) {
if( $key > 0 ) // make sure previous doesn't try to search below 0
$prev_link = '?tutorials=' . $tutorials[$key-1];
if( $key < count( $tutorials ) ) // Make sure we dont go beyond the end of the array
$next_link = '?tutorials=' . $tutorials[$key+1];
} else {
// Some logic to handle an invalid key (not in the array)
}
?>
答案 2 :(得分:0)
使用array_search()获取密钥并在密钥中添加/减去1以获取下一个/上一个链接:
$key = array_search($_GET['tutorials'], $tutorials);