Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak dziala ta funkcja
Forum PHP.pl > Forum > Przedszkole
Darek82
Mam taki kod z ksiazki ktorej sie ucze i nie rozumiem czym sa zmienne $x i $y i jak wynik return wplywa na funkcje usort ze ona sortuje zawartosc tablicy moze mi ktos wytlumaczyc?...Jak daje echo tej tablicy $x[1] to nic nie wyswietla, wiec nie wiem czym to jest i jaka ma wartosc

  1. <?php
  2. $produkty = array (array('OPO','AOpony',100),
  3. array('OLE','Olej',10),
  4. array('SWI','BŚwiece',4));
  5.  
  6.  
  7. echo $x[1].'<br>';
  8. function porownaj($x,$y) {
  9. if ($x[1]==$y[1])
  10. return 0;
  11. else if ($x[1]<$y[1])
  12. return -1;
  13. else
  14. return 1;
  15. }
  16. usort($produkty,'porownaj');
  17.  
  18.  
  19.  
  20. ?>
MateuszS
usort zobacz prototyp funkcji i opis i wszystko jasne.
seth-kk
kiepska ksiazka skoro nie potrafi tego wytlumaczyc? ten opis jest calkiem przyzwoity
w skrocie do printowania tabilc uzywa sie print_r a nie echo
usort przekazuje pary elementow sortowanej tablicy i na podstawie zwroconej informacji (0, 1, -1) zamienia je miejscami lub nie (w uproszczeniu)
Darek82
ale czym jest $x czy to jest jedna tablica array('OPO','AOpony',100) a $y to nastepna? Bo jesli to to czemu nie drukuje jej

kazdy wie a nie powie
thek
To konkretne elementy będące porównywane. Tyle, że Twoja wejściowa to tablica 2-wymiarowa a nie da się porównać Array do Array smile.gif Stąd masz porównywanie pierwszych elementów każdego wiersza. Noż ludzie. Popatrz na przykłady w sortowaniu to będziesz wiedział, że x i y to powinny być elementy tablicy w jakiej dokonujesz porównania. Tak więc to elementy jednej i tej samej tablicy. Co z tego, że umiesz czytać skoro mózgu przy tym nie włączasz?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.