如何通过值从数组中删除值

时间:2015-10-06 11:41:27

标签: php arrays

这里我试图从数组中删除值,这里我将动作和id传递给页面。我正在检查是否已设置值,然后执行操作。

我想按值从数组中删除值。这里product_id是我传递的值,必须从数组中删除该值。

对于ex:action=remove&product_id=22,必须从数组

中删除值22
<?php
    if(isset($_GET['action']) && isset($_GET['product_id'])){
        if($_GET['action'] == "add"){
            $product_id = $_GET['product_id'];            
            $_SESSION['cart'][] =$product_id;
        }

        if($_GET['action'] == "remove"){
            unset($_SESSION['cart'][$product_id]);
            echo "product_remove";
        }
    }    
?>

我该怎么做?

4 个答案:

答案 0 :(得分:3)

if ($_GET['action'] == 'remove') {
    if (array_key_exists($product_id, $_SESSION['cart'])) {
        unset($_SESSION['cart'][$product_id]);
        echo 'product_remove';
    }
}

答案 1 :(得分:2)

<@> AS @Rizier在评论中说,使用array_search,如下所示:

if($_GET['action'] == "remove"){
   $key = array_search ( $product_id, $_SESSION['cart'] );
   unset($_SESSION['cart'][$key]);
   echo "product_remove";
 }

答案 2 :(得分:1)

你可以使用array_search($ product_id,$ _SESSION [&#39; cart&#39;]);

这将为您提供取消设置的关键。 如果您想以现在的方式取消设置,则在添加到购物车时,您必须使用产品ID作为密钥。

希望这有帮助!

答案 3 :(得分:1)

你可以使用super.init(nibName: "NewlyCreatedXib", bundle: nil) 作为Rizier123说,但更高效的方法是使用array_flip并通过product_id删除

array_search()