我正在尝试将MySQL数据转换为数组,然后计算该数组的总和。
$weight = ($product['av_id_1'])*$val; // get attribute values
$weightsub = explode(" ", $weight); // convert string to array
echo array_sum($weightsub);
我得到一个输出,但它不是我预期的,而不是一个整数,它的间隔整数如“30 40 50”。
我哪里错了?
谢谢
答案 0 :(得分:0)
$weightsub = explode(" ", $product['av_id_1']); // convert string to array
echo array_sum($weightsub)*$val;
首先,您需要使用explode
提取所有数字。然后应用array_sum
对数组中的所有数字求和,并将总和乘以$val
。
如果这不能按预期工作,您可以在每个变量或结果上使用echo
和print_r
轻松进行一些基本调试:
echo '$product[av_id_1] = <br>';
print_r($product['av_id_1']);
$weightsub = explode(" ", $product['av_id_1']); // convert string to array
echo '$weightsub = <br>';
print_r($weightsub);
echo "<br>\$val = $val<br>";
echo 'Sum = ' . array_sum($weightsub) . '<br>';
echo array_sum($weightsub)*$val;