Вопрос по arrays, string, sum, php – Как сделать сумму на строку в PHP?

4

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

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

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

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

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

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

есть идеи?

Спасибо

Ваш Ответ

5   ответов
3
$v = "24000,1500,1500,1500,1500,1500,";
$result = 0;
foreach(explode(',',$v) as $val)
     $result +=intval($val);

echo $result;///31500
1

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

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

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

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

Благодарю. это работает просто отлично. и кто-то, кого вы подумали, чтобы попробовать это, но я просто пошел на сложные вещи. :) Patrioticcow
@Patrioticcow Если вы довольны ответом, отметьте его как принятый.
-1
function get_sum()
{
    global $v;
    $temp=0;
    for($i=0;$i<strlen($v);$i++)
    {
        $temp+=intval($v[$i]);
    }
    echo $temp;
}

echo get_sum();
Могу ли я предложить объяснить рабочие части этого ответа, чтобы человек, задающий вопрос, понимал, как он работает / что это такое. И как это использовать.
1

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

Похожие вопросы