Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazywanie domyslnych parametrow do funkcji
Forum PHP.pl > Forum > Przedszkole
kaźmirz
To dziala:
  1. function dane($imie = 'Kazik')
  2. {
  3. $dane2 .= $imie.' Staszewski';
  4. return $dane2;
  5. }
  6. echo dane(); // wyswietli Kazik Staszewski
  7. echo dane('Piotr'); // wyswietli Piotr Staszewski

To jest jasne dla kazdego, ale czemu gdy zrobie tak:
  1. $imie_domyslne = "Kazik";
  2. function dane($imie = $imie_domyslne)
  3. {
  4. $dane2 .= $imie.' Staszewski';
  5. return $dane2;
  6. }
  7. echo dane();

Wyswietli blad "Parse error: parse error in abc.php on line 2" questionmark.gif?
Czy jako domyslny parametr do funkcji mozna tylko przekazywac "recznie wpisane" dane?
Czy da sie jakos zmienna wcisnac?
markonix
Daj $imie = '', a potem w kodzie warunek.
jeśli puste to $imie = $imie_domyslne.
kaźmirz
Cytat(markonix @ 29.10.2010, 13:31:02 ) *
Daj $imie = '', a potem w kodzie warunek.
jeśli puste to $imie = $imie_domyslne.

No ale mi wlasnie chodzi o to, czemu sie tak nie da, jak zrobilem w 2 przykladzie?
nospor
Bo NIE. Taka jest składnia i tyle. Albą przyjmiesz to jako fakt, albo będziesz mial koszmary po nocach winksmiley.jpg
markonix
Też tak kiedyś próbowałem ale po prostu pogodziłem się z tym, że tak nie można. Po prostu taka składnia.
Zmienne lub zmienne wraz z wartością sztywną.
Na php.net nie ma przykładów podobnych do Twoich.

Dywagowałbym dalej gdyby tego nie szło łatwo obejść winksmiley.jpg
Mephistofeles
Ustaw domyślne imię jako stałą.
thek
To proste jak dla mnie. Nie można zmiennej domyślnej inicjować inną zmienną przy definicji funkcji. Nigdy bowiem nie masz pewności, czy taka zmienna istnieje. Nie wiesz czy będzie tam NULL, false czy ciąg pusty, resource lub cokolwiek.
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.