我有两个数组:
阵列A:
$rates = array(
'apple' => array(
'red' => array(
'rate' => 1.19,
'resume' => 'This is a red apple.'
),
'green' => array(
'rate' => 0.99,
'resume' => 'This is a green apple.'
),
'yellow' => array(
'rate' => 0.89,
'resume' => 'This is a yellow apple.'
),
)
);
阵列B:
$cart = array(
'apple' => array(
'0' => red,
'1' => green
)
);
数组B是购物车之一,我需要从数组A获取费率。
所以:
1.19
0.99
总计应为2.18
。
这是我尝试的:
$total = 0;
foreach ($cart as $key => $arr) {
if (isset($rates[$key])) {
foreach ($arr as $value) {
$total += $rates[$key]['rate'][$value] ?? 0;
}
}
}
echo $total;
但这是行不通的。https://3v4l.org/vsEvA
我想念的是什么吗?
非常感谢您的帮助。
您可以将rates数组与cart数组中的信息嵌套在一起,然后对其求和。
$sum =0;
foreach($cart as $prod => $sub){
foreach($sub as $color){
$sum += $rates[$prod][$color]['rate'];
}
}
echo $sum;
编辑:我相信您在代码中只会错误地估计值和值。
https://3v4l.org/pj3WL
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句