Php 无法推送数组键和值

Php 无法推送数组键和值,php,arrays,session,Php,Arrays,Session,我有一个名为animal.php的页面,其中有一个动物名称列表,每个动物名称旁边都有一个按钮。单击任何按钮时,用户将被发送到showanimal.php,其中动物名称显示为$value,并且$key自动递增。我使用foreach循环来显示它,这样我就可以显示每个动物的所有动物的名字 问题是,我在get[id]旁边的array_push中添加了“size=>”,这样我就可以设置自己的键,而不是自动递增的键。但是我在说“”时出错了。语法错误,第10行中出现意外的“=>”(T_双_箭头),即下面的这一

我有一个名为animal.php的页面,其中有一个动物名称列表,每个动物名称旁边都有一个按钮。单击任何按钮时,用户将被发送到showanimal.php,其中动物名称显示为$value,并且$key自动递增。我使用foreach循环来显示它,这样我就可以显示每个动物的所有动物的名字

问题是,我在get[id]旁边的array_push中添加了“size=>”,这样我就可以设置自己的键,而不是自动递增的键。但是我在说“”时出错了。语法错误,第10行中出现意外的“=>”(T_双_箭头),即下面的这一行

第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>
    <?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/>";
}
?>

鸟
狗
狮子
showanimal.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>
    <?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/>";
}
?>
您应该尝试:

$_SESSION['animals']['size'] = $_GET['id'];

或者


我忘了建立一个联盟。。。所以现在它也被添加了!