我正在尝试将 MySQL 数据转换为数组,然后计算该数组的总和。
$weight = ($product['av_id_1'])*$val; // get attribute values
$weightsub = explode(" ", $weight); // convert string to array
echo array_sum($weightsub);
我得到了一个输出,但它不是我所期望的,而不是一个整数,而是它的间隔整数,如“30 40 50”。
我哪里错了?
谢谢
$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;