duandai6373 2015-02-28 20:59
浏览 49

如何检查多个键是否等于某个值

I have this code

if (isset ($_POST['id'])) {
        $productid = $_POST['id'];
        $size = $_POST['size'];
        $wasfound = false;
        $i = 0;
        if (!isset ($_SESSION['cart']) || count($_SESSION['cart']) < 1) {
            $_SESSION['cart'] = array (0 => array ("product_id" => $productid, "size" => $size, "quantity" => 1));
        }
        else {
            foreach ($_SESSION['cart'] as $eachitem) {
                $i++;
                while (list ($key, $value) = each ($eachitem)) {
                    if ($key == "product_id" && $value == $productid) {
                        array_splice ($_SESSION['cart'], $i-1, 1, array (array ("product_id" => $productid, "quantity" => $eachitem['quantity'] + 1)));
                        $wasfound = true;
                    }
                }
            }
            if ($wasfound == false) {
                array_push ($_SESSION['cart'], array ("product_id" => $productid, "size" => $size, "quantity" => 1));
            }
        }
        header ("location: cart.php");
        exit;
    }

How to add 1 more condition

$key == "size" && $value == $size

On this single condition

if ($key == "product_id" && $value == $productid) { }

  • 写回答

2条回答 默认 最新

  • doudeng2184 2015-02-28 21:05
    关注

    Like this:

    if (isset ($_POST['id'])) {
            $productid = $_POST['id'];
            $size = $_POST['size'];
            $wasfound = false;
            $i = 0;
            if (!isset ($_SESSION['cart']) || count($_SESSION['cart']) < 1) {
                $_SESSION['cart'] = array (0 => array ("product_id" => $productid, "size" => $size, "quantity" => 1));
            }
            else {
                foreach ($_SESSION['cart'] as $eachitem) {
                    $i++;
                    while (list ($key, $value) = each ($eachitem)) {
                        if ($key == "product_id" && $value == $productid) {
                            array_splice ($_SESSION['cart'], $i-1, 1, array (array ("product_id" => $productid, "quantity" => $eachitem['quantity'] + 1)));
                            $wasfound = true;
                        }
                        else if ($key == "size" && $value == $size) {
                            //do something
                        }
                    }
                }
                if ($wasfound == false) {
                    array_push ($_SESSION['cart'], array ("product_id" => $productid, "size" => $size, "quantity" => 1));
                }
            }
            header ("location: cart.php");
            exit;
    
    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题