$ _GET ['variable']到一个数组变量中

时间:2012-05-14 12:15:46

标签: php arrays get

好的,所以我有一个名为三个值的数组:

$tutorials = array('introduction', 'get_started', 'basics')

我还有一个链接,例如:

mysite.com/?tutorials=get_started

所以上面的链接似乎是$ tutorials的第一个值,但如果我希望我的主播的href与下一个值相似怎么办?

<a href="?tutorials=basics">Next</a>

这有什么捷径吗?因为我的数组不仅仅是3而是20,我不想一个一个地编辑它们。

我在这里要做的是下一个和上一个链接。请帮忙。

谢谢!

3 个答案:

答案 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';
}

Manual

答案 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);