Nur aus Neugier, tippte ich delete
auf einen Editor mit PHP-Syntax-Hervorhebung und es setzte es mit einer bekannten Keyword-Farbe.
Es gibt unset()
, die bei der Verwendung auf eine Referenz nehme ich an, löst Garbage Collection, Ressourcenbefreiung oder was auch immer PHP unter der Haube tut, aber was macht delete
?
Beim Versuch delete $ref
auf eine Referenzvariable, erhalte ich diesen Fehler: Parse error: syntax error, unexpected T_VARIABLE in /... on line ...
Führt das Schlüsselwort `delete` in PHP aus, was es in C++ oder ähnlichem tut?
1
A
Antwort
9
Ihr Editor ist verwirrt. Es gibt kein delete
Schlüsselwort in PHP.
Wenn Sie in der manual aussehen, witziger alle sagt, es ist, dass es ein „Dummy Handbuch Eintrag“ für Leute, die wirklich für unlink()
oder unset
suchen. Für den Fall, dass Sie eine Referenzvariable loswerden, tut unset
das gleiche, außer dass es nicht den Wert zerstört, nur diese spezielle Referenz.
Zusätzlich, obwohl es in der Funktion Prototyp void delete (void)
sagt, existiert keine solche Funktion tatsächlich.
1
Nach Bedeutung von ‚löschen‘ in C, sprechen Sie von ‚entschärft()‘ Funktion in PHP ...
unset($var);
// or
unset($var1, $var2,...);
Auf einer Seite zur Kenntnis, wissen Sie, die menschliche Vernunft gesetzt, wenn abzusinken sogar ein Die Programmieredakteure der Programmiersprache steuern andere Programmierer ... – BoltClock
Oh, du hast Recht, kein Objekt zu zerstören, nur auf unscharfe Referenzen. – Petruza
@Petruza: Sie erhalten GCed, sobald Sie alle ihre Referenzen entfernt haben, oder wenn das Skript heruntergefahren wird. – BoltClock