如何在数组中存储多个值

时间:2015-10-06 06:10:15

标签: php arrays

每次我将一些值传递给此页面时,我想向数组添加多个值(cart.php)。

但是现在我只能从array.i中获取一个值

echo $_SESSION['cart'][1];
echo $_SESSION['cart'][2];

但我只能获得一个新添加的值,我会注意到

Notice: Undefined offset: 1
Notice: Undefined offset: 2

cart.php

<?php
    if(isset($_GET['action']) && isset($_GET['product_id'])){
            if($_GET['action'] == "add"){
                $product_id = $_GET['product_id'];
                $_SESSION['cart'] = array();
                array_push($_SESSION['cart'],$product_id);     
            }
        }
?>

这就是我在查询字符串

中传递值的方式
 http://localhost/mycart.php?action=add&product_id=4

1 个答案:

答案 0 :(得分:2)

您总是会覆盖数组,因此,您只能获得一个值。 试试这个:

if(isset($_GET['action']) && isset($_GET['product_id'])){
            if($_GET['action'] == "add"){
                $product_id = filter_var($_GET['product_id'], FILTER_SANITIZE_NUMBER_INT);
                $_SESSION['cart'][] =$product_id;
            }
        }