Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]FUNKCJA WYSWIETLANIA DANYCH Z TABLICY, UZYSKIWANIA DANYCH Z TABLICY
mario_31
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 30.10.2013

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


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 ?
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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. ?>
Go to the top of the page
+Quote Post
Daimos
post
Post #3





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


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 (IMG:style_emoticons/default/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. }]


Ten post edytował Daimos 18.01.2014, 14:20:45
Go to the top of the page
+Quote Post

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: 6.10.2025 - 07:52