У меня простой вопрос:
У меня есть этот var: $v = "24000,1500,1500,1500,1500,1500,";
Я хотел бы добавить эти числа вместе.
Я попытался str_replace
,
с +
и так eval()
, но это не сработало.
Я также попытался str_split()
но он не знает, чтобы разделить на.
возможно, если каким-то образом преобразовать его в массив и сделать array_sum
…
есть идеи?
благодаря
$sum = array_sum( explode( ',', $v ) );
То, что это делает, – это разделить $v
на разделитель ,
с explode()
и суммировать полученный массив частей с помощью array_sum()
.
$v = "24000,1500,1500,1500,1500,1500,"; $result = 0; foreach(explode(',',$v) as $val) $result +=intval($val); echo $result;///31500
Функция explode
работает лучше всего в вашей ситуации. То, что explode
, состоит в том, что он разбивает строку на основе параметра, который вы указали. Вы можете думать об этом как обрезание строки на основе параметра и помещение ее в массив.
После этого у вас есть куча чисел в массиве. Просто сделайте сумму. Если вы хотите, чтобы все были числами, вы можете использовать is_numeric () для обеспечения. (:
Используйте str_getcsv для получения массива значений. Затем проведите цикл по массиву, чтобы суммировать эти значения.