Как сделать сумму на строку в PHP?

У меня простой вопрос:

у меня есть этот вар:$v = "24000,1500,1500,1500,1500,1500,";

Я хотел бы сложить эти цифры вместе.

я пыталсяstr_replace , с+ и такeval(), но это не сработало.

я тоже пыталсяstr_split() но он не знает, чтобы разделить на,.

может быть, если как-то преобразовать его в массив и сделатьarray_sum...

есть идеи?

Спасибо

Ответы на вопрос(5)

function get_sum()
{
    global $v;
    $temp=0;
    for($i=0;$i<strlen($v);$i++)
    {
        $temp+=intval($v[$i]);
    }
    echo $temp;
}

echo get_sum();
 20 сент. 2018 г., 16:46
Могу ли я предложить объяснить рабочие части этого ответа, чтобы человек, задающий вопрос, понимал, как он работает / что это такое. И как это использовать.
Решение Вопроса
$sum = array_sum( explode( ',', $v ) );

$v по разделителю, сexplode() и сложить полученный массив частей сarray_sum().

 14 июн. 2012 г., 12:44
@Patrioticcow Если вы довольны ответом, отметьте его как принятый.
 Patrioticcow14 июн. 2012 г., 01:53
Благодарю. это работает просто отлично. и кто-то, кого вы подумали, чтобы попробовать это, но я просто пошел на сложные вещи. :)

цикл по массиву для суммирования этих значений.

$v = "24000,1500,1500,1500,1500,1500,";
$result = 0;
foreach(explode(',',$v) as $val)
     $result +=intval($val);

echo $result;///31500

explode Функция работает лучше всего в вашей ситуации. Какиеexplode делает то, что он разбивает строку на основе параметра, который вы указываете его. Вы можете думать об этом как обрезать строку на основе параметра и поместить ее в массив.

После этого у вас есть куча чисел в массиве. Просто сделай сумму. Если вы хотите убедиться, что все являются числами, вы можете использовать is_numeric () для обеспечения. (:

Ваш ответ на вопрос