Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]FUNKCJA WYSWIETLANIA DANYCH Z TABLICY
Forum PHP.pl > Forum > Przedszkole
mario_31
Witam,

Mam taki kod jak nizej:

  1. function selectData($owoce=array("*")){
  2.  
  3. if(count($owoce) == 1){
  4.  
  5. return $owoce[0];
  6.  
  7. } else {
  8.  
  9. foreach($owoce as $item) {
  10.  
  11. return $item;
  12.  
  13. }
  14.  
  15. }
  16.  
  17. }
  18.  
  19. print_r(selectData(array('gruszka', 'pomidor')));


Pytanie proste - czemu po wpisaniu w parametrze funkcji print_r dwóch parametrow tj. gruszka i pomidor wyswietla mi tylko gruszka a winno wyswietlic także pomidor ?
Turson
Bo zwraca ci ostatni element tablicy, ponieważ przy każdym "obrocie" foreach $item jest nadpisywany.

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <script src="libs/jquery.js"></script>
  5. </head>
  6. <body>
  7. <?PHP
  8. function selectData($owoce=array("*")){
  9.  
  10. if(count($owoce) == 1){
  11.  
  12. return $owoce[0];
  13.  
  14. } else {
  15.  
  16. foreach($owoce as $item) {
  17.  
  18. $tablica[] = $item;
  19.  
  20. }
  21. return $tablica;
  22.  
  23. }
  24.  
  25. }
  26.  
  27. print_r(selectData(array('gruszka', 'pomidor')));
  28. ?>
Daimos
Cytat
Bo zwraca ci ostatni element tablicy, ponieważ przy każdym "obrocie" foreach $item jest nadpisywany.

Prawie tak, a właściwie nie. Return zwraca wartość i natychmiast kończy całą akcję danej metody/funkcji. Więc w tym wypadku zwraca pierwszy element i kończy działanie. Kod w każdym razie dobry wink.gif ale trochę bez sensu, łatwiej zrobić tak:
  1. function selectData($owoce=array("*")){
  2.  
  3. if(count($owoce) == 1){
  4. return $owoce[0];
  5. } else {
  6. return $owoce;
  7.  
  8. }
  9.  
  10. }]
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.