Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]foreach w foreach
qbas-s
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


może banalne pytanie ale dlaczego wykona się tylko wewnętrzna pętla?


  1.  
  2. foreach($result as $key => $value){
  3.  
  4. if($value->row === null){
  5. echo 'result';
  6. //trochę kodu
  7. }
  8.  
  9.  
  10. foreach($result2 as $key2 => $value2){
  11. if($value2->row !== null){
  12. echo 'result2';
  13. }
  14. }
  15.  
  16. if($value->row === null){
  17. // trochę kodu
  18. }
  19.  
  20. }
  21.  


zakładając, że obie tablice nie są puste, wyświetli się przynajmniej raz tylko 'result2'.
Zmienne:
$result === $result2


Może też napiszę po co mi to (może ktoś podsunie lepsze rozwiązanie bardziej optymalne).
Użytkownik na tablicy może dodawać sobie posty i każdy post można komentować. Pętla wyżej w moim kodzie ma za zadanie wyświetlać post macierzysty i potem ponownie przeszukiwać kopię tablicy w celu znalezienie subpostów postu macierzystego.

Struktura html takiej "paczki" wygląda mniej więcej tak:

  1. <div class="post">
  2. //tu kod postu macierzystego, dlatego sprawdzam sobie czy wartość jednego z indeksów tablicy jest null bo jeśli nie to oznacza, że jest to subpost - no i oczywiście trochę kodu tam jeszcze jest ale tu nie jest to istotne, chodzi o idee
  3.  
  4. //tu sprawdzam czy dany indeks w kopi tablicy jest różny od null jeśli tak to oznacza że to subpost
  5. <div class="post subpost">
  6. //kodzik
  7. </div>
  8.  
  9. //tu ponownie sprawdzam czy null aby domknąć znaczniki html postu macierzystego
  10. </div>


Ten post edytował qbas-s 10.06.2014, 21:39:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qbas-s
post
Post #2





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


var_dump($value) pokaże tylko dane które wyświetli druga pętla. Kiedy usunę drugą pętle wtedy pierwsza wyświetla prawidłowo dane. Tak jakby druga niby niezależna pętla miała wpływ na działanie pierwszej.
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.10.2025 - 14:16