php array_sum 只返回第一个值
php array_sum returning first value only
我是 php 的新手,但这似乎是我忽略了一些完全基本的东西?
我在数据库列中有一些值,它们以逗号分隔,如下所示:
1,2,3
当我尝试获取值的总和时,我希望 array_sum 的回显为 6,但我只返回第一个值,即。 “1”
echo $amount; //Gives 1,2,3 etc.
$amount_array = array($amount);
echo array_sum($amount_array); //Only prints "1"
print_r($amount); // shows 1,2,3
print_r($amount_array); // shows Array ( [0] => 1,2,3 )
这是一个字符串而不是数组,您必须使用 explode 函数拆分它:
$exploded = explode ( "," , $amount_array);
var_dump($exploded);
要使用 array_sum 需要将字符串转换为数组
您需要使用explode函数:
$amount_array = explode(',', $amount);
所以你的总代码应该是这样的:
$amount_array = explode(',', $amount);
echo array_sum($amount_array);
array_sum()
通过将数组中的值相加来工作。您的数组中只有一个键=>值对:键0
,值为1,2,3
。
如果你有一个逗号分隔的列表,并希望它是一个数组,我会使用 explode()
函数将列表转换为正确的键=>值对 array_sum()
会期待。
尝试
$amount_array = explode(',',$amount);
您无法按预期方式初始化数组。您传递的是一个逗号分隔的字符串,它只是一个参数。 PHP 不会自动将该字符串转换为单独的参数。
为了将逗号分隔的字符串转换为单个值的数组,您可以使用 explode()
之类的函数拆分字符串,该函数以定界符和字符串作为参数,并且 returns 分隔符分隔值的数组。
$amount_array = explode( ',', $amount ); // now $amount_array is the array you intended
我是 php 的新手,但这似乎是我忽略了一些完全基本的东西?
我在数据库列中有一些值,它们以逗号分隔,如下所示: 1,2,3
当我尝试获取值的总和时,我希望 array_sum 的回显为 6,但我只返回第一个值,即。 “1”
echo $amount; //Gives 1,2,3 etc.
$amount_array = array($amount);
echo array_sum($amount_array); //Only prints "1"
print_r($amount); // shows 1,2,3
print_r($amount_array); // shows Array ( [0] => 1,2,3 )
这是一个字符串而不是数组,您必须使用 explode 函数拆分它:
$exploded = explode ( "," , $amount_array);
var_dump($exploded);
要使用 array_sum 需要将字符串转换为数组
您需要使用explode函数:
$amount_array = explode(',', $amount);
所以你的总代码应该是这样的:
$amount_array = explode(',', $amount);
echo array_sum($amount_array);
array_sum()
通过将数组中的值相加来工作。您的数组中只有一个键=>值对:键0
,值为1,2,3
。
如果你有一个逗号分隔的列表,并希望它是一个数组,我会使用 explode()
函数将列表转换为正确的键=>值对 array_sum()
会期待。
尝试
$amount_array = explode(',',$amount);
您无法按预期方式初始化数组。您传递的是一个逗号分隔的字符串,它只是一个参数。 PHP 不会自动将该字符串转换为单独的参数。
为了将逗号分隔的字符串转换为单个值的数组,您可以使用 explode()
之类的函数拆分字符串,该函数以定界符和字符串作为参数,并且 returns 分隔符分隔值的数组。
$amount_array = explode( ',', $amount ); // now $amount_array is the array you intended