次の配列から、itemTypeがZoであるという条件で数量と価格を倍にしようとしています。他の値の値に基づいて2つの配列の値を掛けてください
(
[customer] => 4
[itemNo] => Array
(
[0] => 1
[1] => 2
)
[itemName] => Array
(
[0] => Type A
[1] => Type B
)
[itemType] => Array
(
[0] => Zo
[1] => Ram
)
[quantity] => Array
(
[0] => 2
[1] => 3
)
[price] => Array
(
[0] => 500
[1] => 2000
)
)
これまで私がこれまでに試したことはありますが、成功しませんでした。
$lq = 0;
$total =0;
for ($i=0;$i<count($_REQUEST['price']);$i++) {
if(in_array("Ram", $_REQUEST['itemType'])){
$total += $_REQUEST['price'][$i] * $_REQUEST['quantity'][$i];
}else{
$lq += $_REQUEST['quantity'][$i];
}
}
echo ($total).'<br>';
echo ($lq);
私の予想される出力は次のようになります。
$total = 1000;//Quantity x Price
$lq = 3//Quantity only
これはちょうど、各反復で、 '=='使用し、 '常に' in_array( "RAM"、$ _REQUEST [ 'itemTypeには'])満足させます代わりに、答えは – Ghost
@bmaのように、あなたのデータは 'Zo'型の複数の項目を持つことができますか?または入力に' Zo'が1つしかありませんか? – BeetleJuice
@BeetleJuice '$ _REQUEST'にはフォーム入力が含まれているので、おそらくユーザーはそのタイプを選択しています。 – Barmar