Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sumowanie ze zmiennych
Forum PHP.pl > Forum > Przedszkole
adrins
Mam zmienne od $dod_1 do $dod_20 .. chodzi o to ze zmienych moge miec XX ale znam ich liczbe smile.gif pod każdą zmieną kryje się liczba i chciałbym te liczby zsumować.

teoretycznie moglbym zrobic proste dodawanie ale jakos nie moge sobie tego ulozyc zeby dzialalo $dod_1 + $dod_2 ... mozna to jakos skrocic bo liczba tych zmiennych sie czesto zmienia i wlasnie z tym nie moge sobie poradzic zeby bylo uniwersalne i dodawalo niezaleznie od ilosci tych zmiennych.
b4x
Hmm po co zmienne ? nie możesz w array" title="Zobacz w manualu PHP" target="_manual ?
barthpl
Co prawda rozwiązanie z tablicą jest (jak mi się wydaje) bardziej logiczne, ale jak wolisz to takie coś powinno rozwiązać twój problem.
  1. <?php
  2. $variableName = 'dod_';
  3. $variableNo = 30;
  4.  
  5. $sum = 0;
  6. for( $i = 1; $i <= $variableNo; $i++ ) {
  7. $variable = $variableName.$i;
  8. $sum += $$variable; // zwróć uwagę na podwójny znak dolara, to nie błąd ;)
  9. }
  10. echo $sum;
  11. ?>
adrins
Dzieki barthpl. faktycznie z tymi zmiennymi sobie tylko zycie utrudnilem. Z tablicami jeszcze sie dobrze nie zapoznalem i dlatego rzadko je stosuje chyba najwyższy czas sie za nie zabrac...
barthpl
nie wiem jak te zmienne definiujesz ale na tablicach byłoby tak:
  1. <?php
  2. // w miejscu gdzie definiujesz swoje zmienne definiujesz tablicę w następujący spo
    sób
  3. $dod[] = $dod_1;
  4. $dod[] = $dod_2;
  5. //.. etc
  6.  
  7. // lub tak: $dod = array( $dod_1, $dod_2, ... )
  8.  
  9. // a zliczenie sprowadza się wtedy do takiego kodu:
  10. sum = 0;
  11. foreach( $dod as $item )
  12. $sum += $item;
  13. echo $sum;
  14. ?>


Bez tablic da się żyć ale z nimi żyje się łatwiej. Szczerze polecam zapoznanie się z tematem (w każdy tutorialu poświęcony jest temu zagadnieniu mniej lub bardziej obszerny fragment).
adrins
mam jeszcze jedno pytanie bo dane do tych obliczen dostaje ze zmiennych POST, ale nie moge ich odczytac z tablicy czyli mam pole w formularzu o nazwie "dod" wczesniej mialem "dod_x" gdzie X to liczba. Tego za bardzo nie rozumiem jak zamienic ten $_POST na tablice zeby mozna bylo odczytac ruzumiem tak ze jezeli powiela sie ta sama zmienna z roznymi wartosciami to automatycznie sie tworzy tablica. I niby tak jest smile.gif tylko gdy daje odczyt np $_POST['dod']['0'] a wartosci sa "335,00", "1657,00", "895,00" a on mi zwraca z tego pierwszego tylko 35 a z kolejnych to 15 i 85.
barthpl
Formularz zdefiniuj w następujący sposób :
  1. <input id="dod1" name="dod[]" />
  2. <input id="dod2" name="dod[]" />
  3. <input id="dod3" name="dod[]" />
  4. <input type="submit" />
  5. </form>

a potem dodawanie w następujący sposób:
  1. <?php
  2. sum = 0;
  3. if( is_array($_POST) )
  4. foreach( $_POST['dod'] as $item )
  5. $sum += $item;
  6. echo $sum;
  7. ?>

i powinno działać.
adrins
wielkie dzieki wszystko dziala smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.