-4

次のような 2 次元配列のアイテムのリストを表示するページがあります。

<?php 
    for ($row = 0; $row < $arrlength; $row++)
    {
       echo "<li>";
       echo "<a href='#item-info' >";              
       echo $items[$row]["Item"];
       echo "</a>"; 
       echo "</li>";
    }
?>

ユーザーが必要なアイテムのリンクをクリックして、そのアイテムのすべての情報を表示するページに移動できるようにしたいと考えています。私の配列は次のようになります。

$items = array( array(Item =>"Jeans",
                      Colour =>"Blue",
                      In stock =>"Yes"),

私はオンラインでphpチュートリアルを見てきましたが、URLでGETメソッドを使用することになっていると思いますが、#item-infoこれを行うための最良の方法が何であるかはよくわかりません.

これが必要な理由は、私の配列には 1000 近くのアイテムが含まれており、1000 個のアイテム情報ページを作成するには長いプロセスになるため、特定のアイテム情報をすべて 1 つの別のページに表示する 1 つのページを作成したいだけです。

前もって感謝します :)

4

2 に答える 2

3

キーを引用する必要があります。

$rooms = array(
    array(
        "Item" =>"Jeans",
        "Colour" =>"Blue",
        "In stock" =>"Yes"
    )
);

また、ループ内でアクセスしている配列は実際に呼び出されていると思いますが、ここ$itemsでの使用$roomsは単なる例です。

申し訳ありませんが、実際の質問にお答えします。ブックマークタグが必要なようです。これは、次を使用して作成します。

echo "<a href='" . $items[$row]["Item"] . "-" . $items[$row]["Colour"] . "'></a>";

次に、リンク先のブックマークに一致するURLでブックマークハッシュを使用できます。たとえば、上記の配列例のアイテムに移動するには、ブックマークハッシュは次のようになります。#Jeans-Blue

于 2013-03-13T14:15:36.117 に答える
0

まず、提供した現在の配列は次のように返されます。

解析エラー: 構文エラー、予期しない 'stock' (T_STRING)、5 行目の C:\xampp\htdocs\index.php の ')' が必要です

これは、キーを文字列として囲んでいないためです。

$rooms = array( array(Item =>"Jeans",
                      Colour =>"Blue",
                      In stock =>"Yes")

次のようにする必要があります。

$rooms = array( array("Item" =>"Jeans",
                      "Colour" =>"Blue",
                      "In stock" =>"Yes")

また、アレイを正しく閉じていないため、閉じられませんでした);

したがって、最後の配列は次のようになります。

$rooms = array( array("Item" =>"Jeans",
                      "Colour" =>"Blue",
                      "In stock" =>"Yes"));

アクセス方法は次のとおりです。

print_r($rooms);返品の実行:

Array ( [0] => Array ( [Item] => Jeans [Colour] => Blue [In stock] => Yes ) ) 

単一のデータにアクセスするには、検索する内部配列のキーを検索する必要があります。

それで

echo $rooms[0]['Item'];印刷されます:Jeans

個人的に必要な配列全体へのアクセス (他の開発者が独自のメソッドを持っていることはわかっているので、それらを尊重してください)

Foreach ($rooms AS $Primary_Array)
{
   // this searches through your primary array 
   foreach ($Primary_Array AS $Room_Keys => $Room_Value)
   {
      // This searches through your secondary level array so you can return: 
     echo '<b>'.$Room_Keys.'</b>:'.$Room_Value.'<br>'; 
     /*
      with your array provided, you will have the following output:

     **Item**: Jeans
     **Colour**: Blue
     **Instock**: Yes
     */
   }
}
于 2013-03-13T14:19:03.873 に答える