NULL einer Variablen in PHP zuweisen: Was macht das?

8

Bei der Pflege von Code stoße ich auf Schleifen, bei denen am Ende der Schleife mehrere Variablen auf NULL gesetzt werden, wie zum Beispiel: $var = NULL; . Von dem, was ich im Handbuch verstehe, ist NULL meist als etwas zu verstehen, gegen das in PHP-Code zu vergleichen ist. Da NULL keinen Typ hat und keine Zeichenfolge oder Nummer ist, macht die Ausgabe keinen Sinn.

Ich kann leider kein Beispiel geben, aber ich denke, die NULL-Werte werden in eine Datei in unserem Code geschrieben. Meine Frage ist: hat $var einen Wert nach der Zuweisung, und wird es ausgeben / schreiben Ausgabe erzeugen?

BEARBEITEN: Ich habe den PHP-Handbucheintrag auf NULL gelesen. Es gibt keine Notwendigkeit, dies zu veröffentlichen: Ссылка in einem Kommentar oder einer Antwort, oder nach oben downvote mich für keine RTM haben. Danke!

    
toon81 22.06.2012, 14:57
quelle

6 Antworten

3
%Vor%

Das Ergebnis von isset() ist Boolean false, aber die Variable ist noch definiert. Die Funktion isset() wäre besser mit isnotnull() benannt. :-P

Beachten Sie, dass is_null() auch für einen Wert, der noch nie festgelegt wurde, true zurückgibt.

Yay PHP.

    
ghoti 22.06.2012 15:04
quelle
1

null ist ziemlich genau wie jeder andere Wert in PHP (tatsächlich ist es auch ein anderer Datentyp als string, int usw.).

Es gibt jedoch einen wichtigen Unterschied: isset($var) prüft, ob die Variable existiert und einen Wert ungleich Null hat.

Wenn Sie die Variable vor dem Zuweisen eines neuen Werts immer wieder lesen möchten, ist unset() die falsche Vorgehensweise, aber die Zuweisung von null ist völlig in Ordnung:

%Vor%

Wie Sie sehen können, löscht unset() die Variable tatsächlich, genau so, wie sie niemals existiert hat, während null auf einen bestimmten Wert setzt (und die Variable bei Bedarf erzeugt).

Ein nützlicher Anwendungsfall von null befindet sich in Standardargumenten, wenn Sie wissen wollen, ob es angegeben wurde oder nicht, und leere Strings, Null usw. ebenfalls gültig sind:

%Vor%     
ThiefMaster 22.06.2012 15:01
quelle
1

Eine Variable könnte auf NULL gesetzt werden, um anzuzeigen, dass sie keinen Wert enthält. Es macht Sinn, wenn die Variable zu einem späteren Zeitpunkt im Code auf NULL überprüft wird.

Eine Variable kann explizit auf NULL gesetzt werden, um den von ihr verwendeten Speicher freizugeben. Dies ist sinnvoll, wenn die Variable viel Speicher belegt (siehe diese Frage ).

Dry den Code ausführen und Sie können den genauen Grund herausfinden.

    
Salman A 22.06.2012 15:44
quelle
0

Es scheint, dass der Zweck der Null-Implementierung basierend auf der bereitgestellten Information darin besteht, die Variable zu löschen.

Sie können eine Variable in PHP aufheben, indem Sie sie auf NULL setzen oder die Funktion unset () verwenden .

  

unset () zerstört die angegebenen Variablen.

     

Das Verhalten von unset () innerhalb einer Funktion kann abhängig von variieren   Welche Art von Variable versuchen Sie zu zerstören?

     

Wenn eine globalisierte Variable innerhalb einer Funktion unset () ist, werden nur die   lokale Variable wird zerstört. Die Variable in der aufrufenden Umgebung   behält den gleichen Wert wie vor dem Aufruf von unset ().

    
RobB 22.06.2012 15:04
quelle
0

Null in PHP bedeutet eine Variable, der kein Wert zugewiesen wurde.

Ссылка

    
Arno 2501 22.06.2012 15:01
quelle
-1

Null ist ein spezieller Datentyp, der nur einen Wert haben kann. Das heißt, null ist nicht nur ein Datentyp, sondern auch ein Schlüsselwortliteral. Eine Variable vom Datentyp null ist eine Variable, der kein Wert zugewiesen ist. Wenn eine Variable ohne Wert erstellt wird, wird ihr automatisch der Wert null zugewiesen damit der Müll, der sich zuvor in diesem Speicherplatz befand, gelöscht wird, andernfalls könnte das Programm versuchen, es zu verarbeiten

    
Rajkumar sudhirkumar 10.09.2015 23:26
quelle

Tags und Links