【问题标题】:Multidimensional array in PHP 5PHP 5 中的多维数组
【发布时间】:2015-01-30 04:28:27
【问题描述】:

我有一个简单的问题,但我做不到。

我的系统中有这个多维数组:

array (size=5)
  'id_cli' => string '13' (length=2)
  'login_cli' => string 'userlogin' (length=10)
  'senha_cli' => string 'userpass' (length=3)
  'cli_nome' => string 'username' (length=16)
  'cart' => 
    array (size=3)
      'id' => int 48
      'tamanho' => string 'G' (length=1)
      'qtde' => int 1

这个数组保存在我的$_SESSION 中。购物车键是保存我的购物车产品。在上面的示例中,我有 1 个产品。

我需要将新产品保存在我的会话数组购物车中,但我不能这样做。我尝试插入的每个新产品都保存在第一个产品之上,而不是插入。

我正在这样做:

  • 声明我的购物车数组:

    if(!isset($_SESSION['cart']))
    {
        $_SESSION['cart'] = array();
    }
    
  • 在我的会话中插入新产品:

    $_SESSION['cart'] = array("id" => $id_produto, "tamanho" => $tamanho_produto, "qtde" => 1);
    

但它不起作用。如何在 $_SESSION['cart'] 中插入新数组?

我需要做什么来删除这个$_SESSION['cart']数组中的特定产品?

谢谢, 马塞洛。

【问题讨论】:

    标签: php multidimensional-array php-5.5


    【解决方案1】:

    您需要将新产品作为数组的数组插入。像这样尝试:

    $_SESSION['cart'][] = array("id" => $id_produto, "tamanho" => $tamanho_produto, "qtde" => 1);
    

    【讨论】:

      【解决方案2】:

      您可以使用array_push($_SESSION['cart'], $newElement); 将数组元素插入到现有数组中。

      另一种方法是$_SESSION['cart'][] = $newElement;

      要删除特定元素,您可以使用以下逻辑

       $arrayKey=array_search($arrayKeyName,$_SESSION['cart']);
       if($arrayKey!==false) unset($_SESSION['cart'][$arrayKey]);
      

      另一种方法

      foreach($_SESSION['cart'] as $k => $v) {
        if($v == $arrayKeyName)
          unset($_SESSION['cart'][$k]);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-20
        • 1970-01-01
        • 1970-01-01
        • 2022-01-07
        相关资源
        最近更新 更多