Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Foreach, bufor i dodawanie elementów
Forum PHP.pl > Forum > Przedszkole
Misiur66
Dobrydzień. Wiem że mogę to samo osiągnąć dwoma pętlami pod rząd, ale nie chcę zamulać procesów. A więc, mamy przykład:

  1. <?php
  2.  
  3. $f = array( 0 => 'element', 5 => 'hel');
  4.  
  5. foreach($f as $k=>$v)
  6. {
  7. if($v === 'hel') $f[13] = 'Gol';
  8. echo "$v <br />";
  9. }
  10.  
  11. ?>


Z tego wynika że foreach przetwarza tablicę $f taką jaka została mu podana. Jednakże ja potrzebuję dodać element na końcu tej tablicy (w pewnym momencie gdy jakiś element występujący wcześniej spełnia warunek) i przetworzyć go jak każdy inny. Jak tego dokonać jedną pętlą? Tutaj dałem na maksa uproszczone, u mnie to jest sporo linijek. Klucz dodawanego elementu wynika z rand().
Darti
nie wiem szczerze czy to zadziała worriedsmiley.gif

  1.  
  2. $f = array( 0 => 'element', 5 => 'hel', 13 => '');
  3. $bufor = '';
  4. $procesowac_bufor = false;
  5.  
  6. foreach($f as $k=>&$v) //<--- ważne jeśli tablica ma być wykorzystana później z wartością Gol
  7. {
  8. if($v === 'hel'){
  9. $bufor = 'Gol';
  10. $procesowac_bufor = true;
  11. }
  12.  
  13. if($k == 13) $v = $bufor;
  14. if($k == 13 && !$procesowac_bufor){} else {
  15. echo "$v <br />";
  16. }
  17. }
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.