__unset(), wird aufgerufen, wenn unset() für eine unzugängliche Eigenschaft aufgerufen wird.
Bevor wir uns diese Methode ansehen, werfen wir einen Blick auf die Funktion unset(). Die Funktion von unset() besteht darin, die angegebene Variable zu löschen und true zurückzugeben .
Wenn Sie also ein Mitgliedsattribut innerhalb eines Objekts außerhalb eines Objekts löschen möchten, können Sie dann die Funktion unset() verwenden?
Hier gibt es natürlich zwei Situationen:
1. Wenn die Mitgliedsattribute in einem Objekt öffentlich sind, können Sie diese Funktion verwenden, um das Objekt außerhalb des Objekts zu löschen. Öffentliche Grundstücke.
2. Wenn die Mitgliedsattribute des Objekts privat sind, habe ich keine Berechtigung, sie mit dieser Funktion zu löschen.
Obwohl es die beiden oben genannten Situationen gibt, möchte ich sagen, dass Sie die privaten Mitgliedsattribute des Objekts außerhalb des Objekts löschen können, wenn Sie einem Objekt die Methode __unset() hinzufügen. Wenn Sie nach dem Hinzufügen der Methode __unset() zum Objekt die Funktion „unset()“ außerhalb des Objekts verwenden, um die privaten Mitgliedsattribute innerhalb des Objekts zu löschen, ruft das Objekt automatisch die Funktion __unset() auf, um uns beim Löschen des privaten Mitglieds zu helfen Attribute innerhalb des Objekts.
Bitte beachten Sie den folgenden Code:
<?php class Person { public $sex; private $name; private $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } /** * @param $content * * @return bool */ public function __unset($content) { echo "当在类外部使用unset()函数来删除私有成员时自动调用的<br>"; echo isset($this->$content); } } $person = new Person("小明", 25); // 初始赋值 unset($person->sex); unset($person->name); unset($person->age);
Laufergebnis:
当在类外部使用unset()函数来删除私有成员时自动调用的 1当在类外部使用unset()函数来删除私有成员时自动调用的 1
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der __unset()-Methode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!