2

さて、私は3つの値で名前が付けられた配列を持っています:

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

たとえば、次のリンクもあります。

mysite.com/?tutorials=get_started

したがって、上記のリンクは$ tutorialsの最初の値のように見えますが、アンカーのhrefを次の値のようにしたい場合はどうすればよいですか?

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

これに対するショートカットはありますか?私の配列は3つだけでなく20であり、1つずつ編集したくないからです。

ここで私がやろうとしているのは、次へと前へのリンクです。助けてください。

ありがとうございました!

4

3 に答える 3

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

マニュアル

于 2012-05-14T12:18:11.823 に答える
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)
   }

?>
于 2012-05-14T12:21:25.890 に答える
0

array_search()を使用してキーを取得し、キーに/マイナス1を追加して、次の/前のリンクを取得します。

$key = array_search($_GET['tutorials'], $tutorials);
于 2012-05-14T12:21:27.107 に答える