2009-04-03 11 views

Antwort

4

Stellen $creation_year ein optionales Argument mit einem Standardwert von NULL verwenden.

function copyright_date($creation_year=NULL) { 

nun in der Funktion zu testen gerade, wenn $creation_year-NULL gleich ist, was passieren wird, wenn die Funktion ohne Argumente aufgerufen wird.

1

Sie könnten die isset Funktion

if ($creation_year == $current_year || !isset($creation_year)){ 
//... 
} 
+0

Dies ist keine Variablendefinition, sondern ein Argument mit Standardwert. –

+1

Leider, wenn Warnungen aktiviert sind, generiert das Verlassen von Funktionsargumenten Warnungen. Solange wir Armeen von Programmierern haben, die bereit sind, Warnungen und Hinweise zu schreiben, die aufgrund von Faulheit Code generieren, wird dies weiterhin die Eignung von PHP als ernsthafte Sprache in Frage stellen. –

0

Wenn jemand braucht zusätzliche Klärung der Antwort:

Sie können versuchen, eine Funktion der Parameter auf NULL zu setzen. Dadurch wird der Wert der Variablen (in Ihrem Fall $ creation_year) auf eine leere Variable gesetzt. Die Variable wurde deklariert, enthält aber keinen Wert. Wenn die Funktion wie folgt aufgerufen wird:

Ihre Funktion führt den Code im Else-Block aus.

Wenn die Funktion in die andere Richtung genannt wird (mit dem Argument geliefert), etwa so:

<?php copyright_date($creation_year); ?> 

Das Argument geliefert ersetzt die den NULL-Wert, und der Code in der If-Block ausgeführt wird.

dies betrachtet, müssen Sie auch diese haben:

|| $creation_year == NULL 

In Ihrem wenn Bedingung. Dies überprüft, ob der Wert von $ creation_year leer ist.

Verwandte Themen