Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem ze zrozumieniem działania pętli w PHP
gwiazdka_root
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Warszawa

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


Witam serdecznie (IMG:style_emoticons/default/smile.gif)

Uczę się PHP i mam problem z pętlami. Wiem, że może się wam to wydac niedorzeczne, ale po prostu nie potrafię ich zrozumieć. Teorię i składnię znam, ale nie potrafię wykorzystać tego w praktyce i poegam na najprostszych zadaniach. Nie wiem w czym dokładnie tkwi problem. Może w tym, że nie rozumiem zasad ich działania, nie wiem jak zagnieżdżać jedne w drugich. Z if nie mam takiego problemu.
Prosze o jakieś rady i wskazówki. Najlepiej jakby mi ktoś to bardzo łopatologicznie wytłumaczył. Posiadam książki, przeczesywałam internet, ale wszytsko na nic, jeżeli ktoś mi tego nie wytłumaczy ludzkim językiem.
Dlatego zwracam się do was - starych wyjadaczy z prośba o pomoc.

Pozdrawiam,
Kasia
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


I dobrze Ci wyszło. Podobnie jak w przypadku Twojego kodu jest ok, poza tym że return był zbędny, a jak już to nie w tym miejscu.

  1. if(is_array($tablica)) // sprawdzasz czy zmienna $tablica to faktycznie tablica
  2. {
  3. foreach($tablica as $key => $value) // pętla, tworzysz zmienne wewnątrz tylko dla niej $key i $value
  4. {
  5. echo '<div style=color:red>'.$key.'</div>'; // wyświetlasz klucz tablicy
  6. if(is_array($value)) // sprawdzacz czy wartość klucza to tablica
  7. {
  8. print_r($value); // wyświetlasz zawartość klucza, jak chcesz się odwołać do dajesz echo $value[0] lub $value[1] itd.
  9. }
  10. else
  11. {
  12. echo $value.'</br>'; // wyświetlasz wartość jeśli nie jest tablicą
  13. }
  14. }
  15. }
  16. else
  17. {
  18. echo 'to nie jest tablica.'; //komunikat gdy zmienna to nie tablica
  19. }


A i wersja z pętlą która wyświetla zawartość jeśli jest tablicą.

  1. if(is_array($tablica)) // sprawdzasz czy zmienna $tablica to faktycznie tablica
  2. {
  3. foreach($tablica as $key => $value) // pętla, tworzysz zmienne wewnątrz tylko dla niej $key i $value
  4. {
  5. echo '<div style=color:red>key: '.$key.'</div>'; // wyświetlasz klucz tablicy
  6. if(is_array($value)) // sprawdzacz czy wartość klucza to tablica
  7. {
  8. print_r($value); // wyświetlasz zawartość klucza, jak chcesz się odwołać do dajesz echo $value[0] lub $value[1] itd.
  9.  
  10. foreach($value as $key) // nowa pętla dla wartości tej poprzedniej
  11. {
  12. echo '<div style=color:green>value: '.$key.'</div>'; // wyświetlenie wartości jeden po drugim
  13. }
  14. }
  15. else
  16. {
  17. echo '<div style=color:green>value: '.$value.'</div>'; // wyświetlasz wartość jeśli nie jest tablicą
  18. }
  19. }
  20. }


Otrzymujesz coś takiego:

key: tak
Array ( [0] => wiem [1] => wiedza )
value: wiem
value: wiedza
key: nie
Array ( [0] => patrz [1] => teraz )
value: patrz
value: teraz

key: aha
value: ok

Ten post edytował !*! 1.02.2013, 11:00:09
Go to the top of the page
+Quote Post

Posty w temacie
- gwiazdka_root   [PHP]Problem ze zrozumieniem działania pętli w PHP   31.01.2013, 08:26:03
- - CuteOne   Pętle to najzwyczajniej na świecie powtarzanie n+1...   31.01.2013, 08:44:14
- - gwiazdka_root   Dziękuję za szybką odpowiedź. Chciałabym sie dowi...   31.01.2013, 08:54:33
- - CuteOne   1. Dobrze 2. $i jest równe 0; powtarzaj do pu...   31.01.2013, 09:00:11
- - Night123   Oke moja kolej for Zmienna $i wynosi 0, a ...   31.01.2013, 09:07:14
|- - phpion   @Night123: Zanim zaczniesz uczyć innych sugeruję n...   31.01.2013, 10:14:06
- - gwiazdka_root   A mógłbyś mi wytłumaczyć dlaczego w zagniżdżeniu w...   31.01.2013, 09:27:26
- - CuteOne   to nie mnożenie pętla pierwsza wykona się 10 ra...   31.01.2013, 09:58:28
- - !*!   Uzupełnienie tego co opisali wyżej.   31.01.2013, 10:02:21
- - pyro   [PHP] pobierz, plaintext  // Zwykła pętla...   31.01.2013, 10:11:24
- - pyro   // ADD Cytat(gwiazdka_root @ 31.01.2013, 08...   31.01.2013, 10:14:39
|- - gwiazdka_root   phpion to ja już nic nie rozumiem.... piszesz do k...   31.01.2013, 10:43:18
|- - pyro   Blisko, ale wywołaj jeszcze taki kod: [PHP] pobie...   31.01.2013, 11:20:03
- - CuteOne   1. Manual twoim przyjacielem - count() 2. Zadanie ...   31.01.2013, 11:18:53
|- - gwiazdka_root   Cytat(CuteOne @ 31.01.2013, 11:18:53 ...   1.02.2013, 08:41:16
- - CuteOne   Pętle "działają" do puki jest spełniony ...   1.02.2013, 09:04:11
- - gwiazdka_root   Próbowała sobie poradzić tym zadaniem, które wcze...   1.02.2013, 10:21:54
- - !*!   [PHP] pobierz, plaintext $tablica = array( ...   1.02.2013, 10:41:07
- - gwiazdka_root   Teraz już zupełnie zgłupiałam Wyszło mi coś ta...   1.02.2013, 10:55:04
- - !*!   I dobrze Ci wyszło. Podobnie jak w przypadku Twoje...   1.02.2013, 11:13:42
- - gwiazdka_root   CytatJeśli chcesz wyświetlić zawartość tablicy, gd...   1.02.2013, 12:34:13
- - CuteOne   [PHP] pobierz, plaintext $tablica = array('tak...   1.02.2013, 12:46:18
- - gwiazdka_root   Dziękuję to mi wiele wyjaśniło. A pętle i tablice ...   1.02.2013, 12:52:55
- - !*!   http://phpkurs.pl/ - stary kurs, ale wyjaśnia troc...   1.02.2013, 15:54:24


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: 14.10.2025 - 18:35