我有一个名为animal.php的页面,其中包含动物名称列表,每个动物名称旁边都有一个按钮。单击任何按钮时,用户将被发送到showanimal.php,其中动物名称显示为$ value,$ key自动递增。我正在使用foreach循环显示它,以便我可以显示每个动物点击的所有动物的名称。
问题是,我补充说" size => "到get [id]旁边的array_push,这样我就可以设置自己的密钥而不是自动增加的密钥。但是我收到一个错误说""。语法错误,意外' =>' (T_DOUBLE_ARROW)在第10行,也就是这行。
第10行
array_push($_SESSION['animals'], "size" => "".$_GET['id']."" );
我必须设置一个不自动递增的密钥,因为我需要稍后更新每个密钥。我怎么能解决这个问题令人沮丧,因为它没有推送阵列......
先谢谢,下面是我的完整代码!
animal.php
<div class="product">
<h3>BIRD</h3>
<a href="showanimal.php?id=bird">Add animal</a>
</div>
<div class="product">
<h3>DOG</h3>
<a href="showanimal.php?id=dog">Add animal</a>
</div>
<div class="product">
<h3>LION</h3>
<a href="showanimal.php?id=lion">Add animal</a>
</div>
showanimal.php
<?php
session_start();
if(empty($_SESSION['animals']))
{
$_SESSION['animals'] = array();
}
// push array using get id as KEY and size as VALUE.
// getting error on the line bellow " unexpected '=>' (T_DOUBLE_ARROW)"
array_push($_SESSION['animals'], "size" => "".$_GET['id']."" );
// We go through each animal
foreach($_SESSION['animals'] as $key=>$value)
{
echo "the key is :::::::: " . $key;
echo "<BR/>";
echo "the value is :::::::: " . $value;
echo "<BR/>";
echo "---------------------------------";
echo "<BR/>";
}
?>