Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Foreach, bufor i dodawanie elementów
Misiur66
post
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


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().
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


nie wiem szczerze czy to zadziała (IMG:style_emoticons/default/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. }


Ten post edytował Darti 12.09.2010, 14:13:42
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 07:28