Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tablice dwuwymiarowe, czyli skrótowe odwoływanie się do list() i each()
f#a#oo
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.06.2011

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


Witam wszystkich pierwszym postem. Właśnie raczkuję z php, przerabiam sobie pewien podręcznik i wiedzę uzupełniam manualem, ale… nie mogę zrozumieć, dlaczego poniższy kod z podręcznika działa. Siedzę nad tym już kilkadziesiąt minut.

Przykład 1 (podręcznik).

  1. $produkty = array (array('OPO', 'Opony', 100),
  2. array('OLE', 'Olej', 10),
  3. array('SWI', 'Swiece Zaplonowe', 4));
  4.  
  5.  
  6.  
  7. for($rzad = 0; $rzad < 3; $rzad++) {
  8. while (list($klucz, $wartosc) = each($produkty[$rzad])) {
  9. echo "| $wartosc ";
  10. }
  11. echo ' |</br>';
  12. }



Chodzi mi głównie o działanie list() i each() w tabelach dwuwymiarowych.
Dlaczego po wpisaniu echo "| $wartosc "; wyświetla się cały rząd, tzn. zawartość tablicy drugiego stopnia?


W manualu (http://pl.php.net/manual/pl/function.each.php) jest:

Przykład 2.

  1. $owoce = array('a' => 'jabłko', 'b' => 'banan', 'c' => 'truskawka');
  2. reset ($owoce);
  3. while (list ($klucz, $wartosc) = each ($owoce)) {
  4. echo "$klucz => $wartosc\n";


Zawartość tablicy jest wywoływana przy pomocy dwóch zmiennych, każda po imieniu.
W wypadku tablicy dwuwymiarowej z przykładu 1 wystarczy tylko $wartosc? Po co definiowano $klucz skoro nie ma do niego odwołania? W przykładzie 1 list() wyświetla wszystko automatycznie, a w przykladzie 2 trzeba to dokładnie określać? Dlaczego?

Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nekomata
post
Post #2





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


W przyklejonym topic'u , jest bardzo dokładnie napisane jak wyświetlić array czyli
  1. echo '<pre>';
  2. print_r($array);
  3. echo '</pre>';

Przyjrzyj się dokładnie temu co Ci się wyświetli , może wtedy zrozumiesz co to klucz a co to wartość .
Poza tym źle te tablice montujesz (założenie masz dobre ale źle to rozpisałeś)
  1. $data = array(
  2. 'OPO'=>array('Opony',100),
  3. 'OLE'=>array('Olej', 10),
  4. 'SWI'=>array('Swiece Zaplonowe', 4)
  5. );
Czli w powyższym przypadku OPO , OLE , SWI to jest KLUCZ a array z oponami , olejem i świecami to jest wartość . Ogólnie to poczytać manual'a musisz array.
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: 10.10.2025 - 01:51