Если у меня была строка, содержащая следующее, можно ли добавить все номера вверх и удалить запятые?Добавление чисел в PHP
$string = "1,2,3,4,5,6,";
Я пробовал несколько вариантов, но не могу понять, как это сделать.
Спасибо
Если у меня была строка, содержащая следующее, можно ли добавить все номера вверх и удалить запятые?Добавление чисел в PHP
$string = "1,2,3,4,5,6,";
Я пробовал несколько вариантов, но не могу понять, как это сделать.
Спасибо
попробовать это:
$string = "1,2,3,4,5,6,";
echo array_sum(explode(',', $string));
И ответ 21
Этот PHP должен сделать трюк:
array_sum(explode(',', $string));
Этот код сначала использует explode()
, расщепляющий вверх по вашей строке в массив, разделяющий второй параметр, используя символ идентифицированный по первому параметру.
Тогда, поскольку у вас есть массив, вы получаете сумму вложенного массива array_sum()
, который в этом случае является строкой, которую вы просто разделили.
Ссылки:
http://php.net/manual/en/function.array-sum.php
http://php.net/manual/en/function.explode.php
Edit: Так как были подобные повторяющиеся ответы, которые я в дальнейшем расширен на мой ответ
$tmp = explode(',', $string); //Split the string on the commas
$sum = 0;
//Loop over the numbers and add them to $tmp
foreach ($tmp as $number)
{
$sum = $sum + $number;
}
Или, более вытянутый версия:
$string = "1,2,3,4,5,6,";
$sum = 0;
foreach(explode(',', $string) as $num)
{
$sum += $num;
}
echo $sum;
'foreach' что? У вас нет массива в вашем коде? –
Метод 'explode' будет создавать массив. Попробуйте скопировать и вставить его здесь http://writecodeonline.com/php/ – user1477388
Достаточно справедливо. Я использую '$ array = range (1, 6);' then 'foreach ($ array as $ number)'. Гораздо чище. –
Попробуйте следующее:
$values = array();
$sum = 0;
$values = explode(',', $string);
foreach($values as $value)
{
$sum = $sum + $value;
}
echo $sum;
Вы пробовали взорваться? используйте это в запятой в строке. Результатом является массив с числами – B8vrede
explode() и array_sum() –