2010-10-04 11 views
8

Na przykład, oto szybkie manekin funkcja, która podsumowuje:Jak utworzyć opcjonalny argument w mojej funkcji niestandardowej w PHP?

function dummy_func($optional) 
{ 
    if (!isset($optional) 
    { 
     $optional = "World!"; 
    } 
    $output = "Hello " . $optional; 
    return $output; 
} 

Jednak jeśli uruchomię to pojawia się E_WARNING dla brakującego argumentu. Jak mogę to ustawić, aby nie oznaczało błędu?

Odpowiedz

19

Opcjonalnym argumentom należy nadać wartość domyślną. Zamiast sprawdzać isset na argumencie, wystarczy podać jej wartość, jak chcesz go mieć, jeśli nie podano:

function dummy_func($optional = "World!") 
{ 
    $output = "Hello " . $optional; 
    return $output; 
} 

zobaczyć stronę na Function arguments w instrukcji (zwłaszcza sekcji Default argument values).

+0

Dziękujemy! To działało idealnie. – Rob

7

Można to zrobić poprzez $optional argumentu wartość domyślną "World!" odbioru:

function dummy_func($optional="World!") 
{ 
    $output = "Hello " . $optional; 
    return $output; 
} 

Teraz po wywołaniu funkcji, jeśli nie zapewniają żadnego argumentu, $optional przyjmie wartość domyślną, ale jeśli zdać Argument, $optional przyjmie wartość przekazaną.

Przykład:

echo dummy_func();  // makes use of default value...prints Hello World! 
echo dummy_func('foo!'); // makes use of argument passed...prints Hello foo! 
+0

Chciałbym wiedzieć, dlaczego jego również został odrzucony. Przejmuję to, ponieważ działa i jest tak samo jak przyjęta odpowiedź, nie mogłem zaakceptować obu. – Rob

Powiązane problemy