За последние 24 часа нас посетили 18299 программистов и 1646 роботов. Сейчас ищут 1026 программистов ...

текстовая база, сумма столбца

Тема в разделе "Вопросы от блондинок", создана пользователем serega499, 15 янв 2023.

  1. serega499

    serega499 Активный пользователь

    С нами с:
    12 янв 2016
    Сообщения:
    13
    Симпатии:
    0
    Добрый день!
    Нужна помощь. Есть текстовая база, в ней строки:
    01.01.2023 | 100
    02.01.2023 | 200
    03.01.2023 | 300
    Вопрос не получается сложить сумму чисел из всех строк, что не делал выдает 100+200+300 , но не суммирует
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.484
    Симпатии:
    281
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.853
    Симпатии:
    748
    Адрес:
    Татарстан
    Выводить и суммировать - две большие разницы.
    Ну и код надо показать.... Ванги нет
     
  4. serega499

    serega499 Активный пользователь

    С нами с:
    12 янв 2016
    Сообщения:
    13
    Симпатии:
    0
    данные в базе записаны переменными
    $data | $price

    $file = file ("baza.txt"); // выводим данные из файла базы
    $size = sizeof($file); // разбиваем на строки
    $lineCount = count(file('baza.txt')); // узнаем количество строк в файле для вывода в обратном порядке
    for ($i=count($file)-1;$i>count($file)-$lineCount-1;$i--){ // выводим в обратном порядке
    list($data,$ptice) = explode("|", trim($file[$i])); // вытаскиваем из строки переменные по столбцам

    $a = array($price.',');
    echo array_sum($a) ;

    а результат вместо суммы, вывод последовательно :
    300200100
    Как мне сложить эти 100 200 300, чтоб получить 600
     
  5. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.484
    Симпатии:
    281
    for(), sizeof()...
    Знакомый почерк. Но конвейер один, видимо пращур
    PHP:
    1. <?php
    2. $file = file('baza.txt', FILE_IGNORE_NEW_LINES); //извлекаем строки в массив, сразу без \n
    3.  
    4. $dates   = array(); //колонка с датами
    5. $prices  = array(); //колонка с ценами
    6.  
    7. foreach($file as $value) //разбираем "базу" на колонки,
    8.                          //"данные" не обрабатываем, т.к. подразумевается,
    9.                          //что они отформатированы еще при записи
    10. {
    11.     list($date, $price) = explode('|', $value);
    12.     $dates[]  = $date;
    13.     $prices[] = $price;
    14. }
    15.  
    16. //print_r($dates);
    17. //print_r($prices);
    18.  
    19. echo array_sum($prices); //"итого"
    20. ?>
     
    #5 Drunkenmunky, 16 янв 2023
    Последнее редактирование: 16 янв 2023
  6. serega499

    serega499 Активный пользователь

    С нами с:
    12 янв 2016
    Сообщения:
    13
    Симпатии:
    0
    Спасибо! Все получилось ))