6

我有一个简单的问题:

我有这个变量:$v = "24000,1500,1500,1500,1500,1500,";

我想把这些数字加在一起。

我试过with和 so a str_replace,但没有奏效。,+eval()

我也试过str_split(),但它不知道在,.

也许如果以某种方式将其转换为数组并执行array_sum...

有任何想法吗?

谢谢

4

5 回答 5

17
$sum = array_sum( explode( ',', $v ) );

它的作用是$v由分隔符分割,并将结果数组,explode()相加array_sum()

于 2012-06-13T23:50:40.343 回答
4
$v = "24000,1500,1500,1500,1500,1500,";
$result = 0;
foreach(explode(',',$v) as $val)
     $result +=intval($val);

echo $result;///31500
于 2012-06-13T23:53:50.837 回答
1

explode功能最适合您的情况。explode它的作用是根据您指定的参数拆分字符串。您可以将其视为根据参数对字符串进行切片并将其放入数组中。

完成后,数组中有一堆数字。做个总和就行了。如果要确保都是数字,可以使用 is_numeric() 来确保。(:

于 2012-06-14T04:06:32.883 回答
1

使用 str_getcsv 获取值的数组。然后循环遍历数组以对这些值求和。

于 2012-06-13T23:50:06.660 回答
-1
function get_sum()
{
    global $v;
    $temp=0;
    for($i=0;$i<strlen($v);$i++)
    {
        $temp+=intval($v[$i]);
    }
    echo $temp;
}

echo get_sum();
于 2018-09-20T13:41:23.373 回答