我有一个页面,显示来自二维数组的项目列表,如下所示:
<?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教程,我相信我想在我的网址中使用GET方法#item-info
但是我不太确定最好的方法是什么。
我想要这个的原因是因为我的数组包含近1000个项目,制作1000个项目信息页面将是一个很长的过程,所以我只想制作一个页面,它只显示一个单独的所有特定项目信息页。
提前谢谢你:)
答案 0 :(得分: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
答案 1 :(得分:0)
首先,您提供的当前数组返回:
解析错误:语法错误,意外“库存”(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
*/
}
}