[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Суммирование в цикле
Gigabit
Скажите как суммировать переменную в цикле например:


$names[] = "10";
$names[] = "20";
$names[] = "60";
$names[] = "100";
foreach ($names as $value)

{
echo $value."<br>";
}


получается

10
20
60
100

но мне нужно что бы в цикле выводилось не числа а общую сумму этих чисел то есть 10+20+60+100 получить 190



Спустя 1 минута, 28 секунд (13.02.2012 - 23:09) nugle написал(а):
Gigabit
Так
$names[] = "10";
$names[] = "20";
$names[] = "60";
$names[] = "100";
$value = 0;
foreach ($names as $key=>$val)
{
$value = $value + (int)$val;
}

Спустя 4 минуты, 47 секунд (13.02.2012 - 23:14) dadli написал(а):
echo array_sum($names);
?

Спустя 2 минуты, 8 секунд (13.02.2012 - 23:16) TranceIT написал(а):
dadli
Судя по echo внутри цикла требуется вывод после каждой операции сложения.

Спустя 1 минута, 18 секунд (13.02.2012 - 23:17) TranceIT написал(а):
nugle
Суть не меняется но так симпотичнее
$value += (int)$val;

Спустя 5 минут, 18 секунд (13.02.2012 - 23:23) dadli написал(а):

Цитата
но мне нужно что бы в цикле выводилось не числа а общую сумму этих чисел то есть 10+20+60+100 получить 190

TranceIT
я так понял что ТС хотел получить сума всех елементов из масива.
если не так, то конечно мои код не правилни

Спустя 2 минуты, 31 секунда (13.02.2012 - 23:25) nugle написал(а):
TranceIT
Я просто никак не мог вспомнить как это делается, помнил только про строки. Сложение такого рода редко использую на сайтах)

Спустя 10 часов, 2 минуты, 14 секунд (14.02.2012 - 09:27) Gigabit написал(а):
скажите если у меня есть число 340.2135 я могу посредством php сделать его более понятливым то есть не такое длиное не целое число а вот такое например 340.2 ?

Спустя 7 минут, 5 секунд (14.02.2012 - 09:35) nugle написал(а):
так попробуй
sprintf("%01.1f", $num);

Спустя 4 минуты, 23 секунды (14.02.2012 - 09:39) Gigabit написал(а):
результат 3.4

Спустя 2 минуты, 21 секунда (14.02.2012 - 09:41) Placido написал(а):
echo round($num, 1);

Спустя 1 минута, 58 секунд (14.02.2012 - 09:43) Gigabit написал(а):
то есть он слишком его сократил вместо 340.2 он сделал 3.4

Спустя 16 секунд (14.02.2012 - 09:44) nugle написал(а):
Gigabit
Вот я делаю, все прекрасно
<?php

$num = 340.2134;
$num = sprintf("%01.1f", $num);
echo $num;

Спустя 4 минуты, 18 секунд (14.02.2012 - 09:48) Gigabit написал(а):
nugle ппц прости буквой f косянул! спсибо большое помог)

Спустя 1 минута, 18 секунд (14.02.2012 - 09:49) nugle написал(а):
Gigabit
не за что)

Спустя 1 час, 4 минуты, 16 секунд (14.02.2012 - 10:53) killer8080 написал(а):
Gigabit
а round() чем не угодил?

Спустя 1 час, 33 минуты, 51 секунда (14.02.2012 - 12:27) Zerstoren написал(а):
Цитата (killer8080 @ 14.02.2012 - 07:53)
Gigabit
а round() чем не угодил?

Действительно, у round есть второй параметр, который округляет равно так как вам нужно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.