0

次の問題のロジックを理解するのに少し問題があります。

私は足首ブレースを販売するウェブショップを持っています。左右。ブレースごとに、対応する足首のスキャンが必要です。たとえば、右足首のスキャンしかない場合、左の装具を購入することはできません。私は2つの配列を持っています。最初の配列にはスキャン データが含まれ、2 番目の配列にはすべての製品が含まれる Web カートがあります。しかし、ロジックに頭を悩ませることはできません。

スキャンが利用できないときに製品がカートにある場合は、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 に答える