ФорумПрограммированиеPHP для идиотов → как вычислить сумму значений в масиве

как вычислить сумму значений в масиве

  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 14:29, спустя 7 минут 6 секунд

    Оба запроса правильные, просто в первом случае надо обращаться как

    printf($is['SUM(`dannue`)']);
    или
    printf($is[0]); {+++102+++} И var_dump тебе это написал совершенно явно
  • stanick

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 июня 2010 г. 14:40, спустя 10 минут 42 секунды

    Ну понятно кляч не правильно подставлял. И все же второй мне более преемлем. Еще подсакажи

    array(2) { [0]=> string(3) "169" ["SUM(`dannue`)"]=> string(3) "169" 

    Из этого видно что (3) "169" данные из ячеек у меня в формате string, хотя в базе данных столбец int;
    Чего так. Правильно ведь должно быть
    array(2) { [0]=> int(3) "169" ["SUM(`dannue`)"]=> int(3) "169" 
    разве нет. {+++110+++} У меня из за этого наверное array_sum не правильно считала.
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 14:40, спустя 34 секунды

    AlexB, да, ссорь…. :/
    adw/0
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 29 июня 2010 г. 14:50, спустя 9 минут 25 секунд

    давайте онлайн-курсы мож откроем?
  • stanick

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 июня 2010 г. 14:55, спустя 4 минуты 58 секунд

    А если с помощью функции array_sum то ведь не верно подсчитывает почему что не так
    Вот запрос


    $query="SELECT `dannue` FROM `dannue_osnova`;
    $quest=mysql_query ($query)or die ('неверный запрос');
    $num1=mysql_num_rows($quest) or die ('занчение пусто');
    for($c=0; $num1>$c; $c++)
    {$is=mysql_fetch_array($quest);
    $lin=array_sum($is);}
    Print_r($lin);

    Выведет сумму 14 а она должна быть 169 как правильно в чем может быть ошибка.
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 14:58, спустя 3 минуты 43 секунды


    давайте онлайн-курсы мож откроем?
    лучше онлайн виселицу, популярность будет выше, да и перед смертью деньги человеку не нужны - профит выше также
    Сапожник без сапог
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 15:06, спустя 7 минут 20 секунд


    Ну понятно кляч не правильно подставлял. И все же второй мне более преемлем.
    Да второй, конечно, семантичнее. Я не про то, что первый правильнее, а про то что надо уметь отлаживать программу для решения проблемы.


    Из этого видно что (3) "169" данные из ячеек у меня в формате string, хотя в базе данных столбец int;
    Ну это, скажем так, особенность работы пхпшного драйвера с БД. {+++298+++} $is=mysql_fetch_array($quest); - здесь ты каждый раз переопределяешь $is заново
    надо
    $tmp=mysql_fetch_array($quest);
    $is[] = $tmp[0]; {+++76+++} а array_sum вынести за цикл
    это если конечно array_sum очень нравится, а вообще проще было б сразу в цикле суммировать
  • stanick

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 июня 2010 г. 15:10, спустя 4 минуты 21 секунду

    AlexB а что на счет

    $query="SELECT `dannue` FROM `dannue_osnova`;
    $quest=mysql_query ($query)or die ('неверный запрос');
    $num1=mysql_num_rows($quest) or die ('занчение пусто');
    for($c=0; $num1>$c; $c++)
    {$is=mysql_fetch_array($quest);
    $lin=array_sum($is);}
    Print_r($lin);

    Выведет сумму 14 а она должна быть 169 в чем ошибка. {+++80+++} счас попробую
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 15:11, спустя 1 минуту 22 секунды

    Выведет сумму 14 а она должна быть 169 в чем ошибка.

    в логике и детородных органах :)
    Сапожник без сапог
  • stanick

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 июня 2010 г. 15:17, спустя 5 минут 50 секунд

    phpdude пустой флуд с твоей стороны. {+++129+++} AlexB Помогло спасибо.
    А как в цикде просумировать обьясни еще.
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 29 июня 2010 г. 15:24, спустя 6 минут 38 секунд

    та не, народ, реально нужно как-то стимулировать народ думать. Что если сделать типа стэковерфлоу.ком/аскдев.ру, где ответы на вопросы будут платные. Ну в районе 0.5-3 баксов?
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 15:25, спустя 1 минуту 26 секунд

    Что если сделать типа стэковерфлоу.ком/аскдев.ру, где ответы на вопросы будут платные. Ну в районе 0.5-3 баксов?

    есть пара лямов на раскрутку? ?)
    Сапожник без сапог
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 15:26, спустя 22 секунды


    А как в цикде просумировать обьясни еще.


    $sum = 0;
    for( …
    {

    $sum += $is[0];
    }
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 29 июня 2010 г. 15:28, спустя 1 минуту 56 секунд

    phpdude пустой флуд с твоей стороны.

    ололо!!! как лестно!!! {+++58+++}
    А как в цикде просумировать обьясни еще.

    $sum = 0;
    for( …
    {

    $sum += $is[0];
    }

    это же ничего не даст человеку, если в школе не научили суммировать, то тут даже разговаривать не о чем {+++12+++} да я чето приебчивый какой та сеня
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 29 июня 2010 г. 15:29, спустя 1 минуту 23 секунды

    аскдев.ру - хороший сайт. Да, тупо клон 1:1, может местами хуже. Но все равно хороший. Жаль, что непосещаемый.

    Но вообще я видел в рунете еще пару клонов стека

Пожалуйста, авторизуйтесь, чтобы написать комментарий!