我收到此错误消息“array_product()期望参数1为数组,在...中给出字符串”当我尝试将下面的foreach语句中的所有值相乘时。请帮助。提前致谢
这是我的代码。请注意,$ answer中的值通常类似于“1.50 real(Yes)”。但是我只需要“1.50”,就像它们在循环中一样多,然后得到总数。
foreach($_POST['gm'] as $key => $answer){
if($answer != ''){
$odd=explode(" ",$answer);
$od=trim($odd[0]);
}
$total = array_product($od);
echo $total;
我尝试使用$ total在循环外进行乘法运算。以免在循环中重复。对此有何帮助?
答案 0 :(得分:2)
您没有在foreach循环中重建数组。因此,每次循环时,您的$od
变量都会被覆盖。
您的代码应为
foreach($_POST['gm'] as $key => $answer) {
if($answer != '') {
$odd = explode(" ",$answer);
$od[] = trim($odd[0]);
}
}
$total = array_product($od);
echo $total;