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%)
-----


nie.

przykładowa zawartość zmiennej $value (tablica dla postu macierzystego):
  1.  
  2. stdClass Object
  3. (
  4. [w_id] => 25
  5. [w_id_item] => 15
  6. [w_msg] => tempor incididunt ut labore et dolore magna aliqua
  7. [w_date] => 2014-06-10 15:48:22
  8. [w_dir] => msg/2014/06/10/
  9. [w_photo] => w58hkyuvs3teyyqruz9d
  10. [w_parent] => null
  11. [w_rate_plus] => 0
  12. [w_rate_minus] => 0
  13. [u_id] => 7
  14. [u_media_dir] => public/users/2014/05/11/
  15. [u_profil_photo] => profil_photo
  16. [u_name] => Jan Kowalski
  17. )


przykładowa zawartość zmiennej $value2 (tablica subpostu)
  1.  
  2. stdClass Object
  3. (
  4. [w_id] => 32
  5. [w_id_item] => 15
  6. [w_msg] => tempor incididunt ut labore et dolore magna aliqua
  7. [w_date] => 2014-06-10 15:48:22
  8. [w_dir] => msg/2014/06/10/
  9. [w_photo] => w58hkyuvs3teyyqruz9d
  10. [w_parent] => 25
  11. [w_rate_plus] => 0
  12. [w_rate_minus] => 0
  13. [u_id] => 7
  14. [u_media_dir] => public/users/2014/05/11/
  15. [u_profil_photo] => profil_photo
  16. [u_name] => Marta Kowalska
  17. )


index w_parent jeśli jest null wtedy wskazuje na post macierzysty. Jeśli jest różny od null wtedy oznacza, że tablica jest subpostem postu o w_id takim jak w_parent. Jednak wydaje mi się, że zagłębianie się aż tak w całą tą idee jest chyba nie istotne. Bo pytanie brzmi: dlaczego wewnętrzna pętla z pierwszego postu zaburza pracę tej pierwszej.

Ten post edytował qbas-s 10.06.2014, 21:42:50
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: 15.10.2025 - 14:38