Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ciekawy problem -> liczenie $i z for
Forum PHP.pl > Forum > PHP
tara
Witam,

  1. <?php
  2. for($i=1; $i <= $ilosc_okolicznych; $i += 1) {
  3. $sciezka = ${sciezka_okolicznosc.$i};
  4.  
  5. ${ilosc.$i} = count(glob(&#092;"galeria/\".$sciezka.\"/*.jpg\"));
  6.  
  7.  print &#092;"${ilosc.$i}\";
  8. }
  9.  
  10. ?>

Oto kod który zlicza pliki w określonych folderach. Chciałbym żeby wszystkie wartości ${ilosc.$i} były dodane. Tylko nie wiem jak to zrobić blink.gif . Problemu by nie było, gdyby zmienna $ilosc_okolicznych była określona, np. 4. Wtedy bym zrobił to tak:
  1. <?
  2. $a = $ilosc1+$ilosc2+$ilosc3+$ilosc4;
  3.  
  4. ?>

Jednak jak to zrobić kiedy $ilosc_okolicznych nie jest podana ? ohmy.gif
rogrog
  1. <?php
  2. $suma = 0;
  3.  
  4. for($i=1; $i <= $ilosc_okolicznych; $i += 1) {
  5. $sciezka = ${'sciezka_okolicznosc'.$i};
  6.  
  7. ${ilosc.$i} = count(glob(&#092;"galeria/\".$sciezka.\"/*.jpg\"));
  8. $suma += ${ilosc.$i};
  9. print ${'ilosc'.$i};
  10. }
  11.  
  12. ?>


tak na marginesie używanie zmiennych zmiennych wg mnie wprowadza bałagan w kodzie i utrudnia zmiany. Nie wiesz tak na prawdę jaki zmienne zapisuje Twój kod. Może powodować trudne do wykrycia pomyłki w kodzie itd.

Nie spotkałem się z przypadkiem w którym nie mogły by być zastąpione przez tablice.

np. Twój kod

  1. <?php
  2. $suma = 0;
  3.  
  4. $sciezka_okolicznosc = Array('sciezka1', 'sciezka2');
  5. $ilosc = Array();
  6.  
  7. for($i=1; $i <= $ilosc_okolicznych; $i += 1) {
  8. $ilosc[$i] = count(glob(&#092;"galeria/\".$sciezka_okolicznosc[$i].\"/*.jpg\"));
  9. $suma += $ilosc[$i];
  10. print $ilosc[$i];
  11. }
  12. //albo jeszcze lepiej z foreach
  13. foreach($sciezka_okolicznosc as $sciezka) {
  14. $ilosc[$i] = count(glob(&#092;"galeria/\".$sciezka.\"/*.jpg\"));
  15. $suma += $ilosc[$i];
  16. print $ilosc[$i];
  17. }
  18.  
  19. ?>
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.