0

我在弄清楚以下问题的逻辑时遇到了一个小问题。

我有一个卖脚踝支架的网上商店。左和右。对于每个支架,都需要扫描相应的脚踝。因此,例如,如果我只扫描右脚踝,我就无法购买左支具。我有两个数组。第一个数组包含扫描数据,第二个是包含所有产品的网络购物车。但我无法理解逻辑:

如果产品在购物车中而其扫描不可用,则返回 false。

我可以只做一堆 if 语句,但我确信有一种合乎逻辑且更简洁的方式。

这是数组

Array
(
    [left] => Array
        (
            [0] => data
            [1] => data2
            [2] => data3
        )

    [right] => Array
        (
            [0] => data
            [1] => data2
            [2] => data3
        )

)

Array
(
    [product_id1] => Array
        (
            [var] => val
            [side] => left
        )

    [product_id2] => Array
        (
            [var] => val
            [side] => right
        )

)
4

1 回答 1

1

这样的事情可能会有所帮助:

function check($product) {
    if ($product['side'] == 'left' && !isset($scans['left']) || 
        $product['side'] == 'right' && !isset($scans['right'])) {
          return false;
        }
    return true;
}

foreach ($cart as $product) {
  check($product);
}
于 2013-06-20T12:23:41.843 回答