具有不同值的PHP多复选框数组-获取复选框的总价

具有不同值的PHP多复选框数组-获取复选框的总价,php,arrays,Php,Arrays,如何计算PHP多个复选框值数组的总和-复选框的总价 例如,结果应显示为: 0 C[$800] 1. C++ [ 700美元] 2. 汇编程序[$600] 3. 爪哇[$500] 4. 菲律宾比索[$400] 这是PHP代码: <?php if(isset($_POST['sbt'])){ $count = $_POST['count']; $sub_menu = $_POST['sub_menu']; $sub_price = $_POST['sub_pric

如何计算PHP多个复选框值数组的总和-复选框的总价

例如,结果应显示为:

<选定的编程语言的总价格:C++,java=1200 $ < /p>

0
C[$800]

1. C++ [ 700美元]
2. 汇编程序[$600]
3. 爪哇[$500]
4. 菲律宾比索[$400]
这是PHP代码:

<?php
if(isset($_POST['sbt'])){

  $count = $_POST['count'];
  $sub_menu = $_POST['sub_menu'];
  $sub_price = $_POST['sub_price'];
  $sub_price1 = $_POST['sub_price'];
  //$total_price = array($sub_menu => $sub_price);

   foreach($count as $j)

    echo $sub_menu[$j] . '['.$sub_price[$j]. ']' ;
}
?>

您需要确保每个组的数组索引相同:

0<input type="checkbox" name="count[0]" value="0"/>
<input type="hidden" name="language[0]" value="C"/>C [$800]     
<input type="hidden" name="price[0]" value="800"> <br/>

1<input type="checkbox" name="count[1]" value="1"/>
<input type="hidden" name="language[1]" value="C++"/>C++ [$700]
<input type="hidden" name="price[1]" value="700"> <br/>
然后内爆文本并计算价格:

echo "Total Price of Selected Programming Languages: "
    . implode(',', $language) . ' = $'
    . array_sum(price);

身份证必须是唯一的你放弃了吗???没有:)。非常感谢AbraCadaver,问题解决了,一切都很完美。好吧,如果对你们有帮助的话,就标记一些完整的东西。谢谢,我试过你们说的方式,但结果不是我所需要的。我认为这样的结果,如果我选择了两种语言,例如C++,java,总价格应该是$1200。是的,我太快了。编辑。谢谢,我试过你们怎么说,但结果不是我所需要的。我需要这样的结果,如果我选择了两种语言,例如C++、java,总价格应该是1200美元,结果应该是-C++,java=1200美元。我认为这个问题应该通过Frach循环来解决,但是我不能确切地理解如何做。Thanks@user3559269你能再试一次吗?我已更新答案,只添加已检查的答案。问题已解决。:)非常感谢Patrick Gregorio,它非常有用,非常棒。:)
$price    = array_intersect_key($_POST['price'], $_POST['count']);
$language = array_intersect_key($_POST['language'], $_POST['count']);
echo "Total Price of Selected Programming Languages: "
    . implode(',', $language) . ' = $'
    . array_sum(price);
$items = array();
$total = 0;

foreach($_POST['price'] as $k => $price) {
    if(in_array($k, $_POST['count'])) {
        $items[] = $_POST['language'][$k];
        $total += intval($price);
    }
}

$items = implode(", ", $items);
echo $items . " = $" . $total;