__unset(),當對不可訪問屬性呼叫unset()時被呼叫。
看這個方法之前呢,我們也先來看一下 unset() 函式,unset()這個函式的作用是刪除指定的變數且傳回true,引數為要刪除的變數。
那麼如果在乙個物件外部去刪除物件內部的成員屬性用unset()函式可以嗎?
這裡自然也是分兩種情況:
1、 如果乙個物件裡面的成員屬性是公有的,就可以使用這個函式在物件外面刪除物件的公有屬性。
2、 如果物件的成員屬性是私有的,我使用這個函式就沒有許可權去刪除。
雖然有以上兩種情況,但我想說的是同樣如果你在乙個物件裡面加上__unset()這個方法,就可以在物件的外部去刪除物件的私有成員屬性了。在物件裡面加上了__unset()這個方法之後,在物件外部使用「unset()」函式刪除物件內部的私有成員屬性時,物件會自動呼叫__unset()函式來幫我們刪除物件內部的私有成員屬性。
請看如下**:<?php
class person
public $***;
private $name;
private $age;
public function __construct($name="", $age=25, $***='男')
$this->name = $name;
$this->age = $age;
$this->*** = $***;
* @param $content
* @return bool
public function __unset($content) {
echo "當在類外部使用unset()函式來刪除私有成員時自動呼叫的
";echo isset($this->$content);
$person = new person("小明", 25); // 初始賦值
unset($person->***);
unset($person->name);
unset($person->age);
執行結果:當在類外部使用unset()函式來刪除私有成員時自動呼叫的
1當在類外部使用unset()函式來刪除私有成員時自動呼叫的
php中unset函式是在哪一章 PHP中
unset 當對不可訪問屬性呼叫unset 時被呼叫。看這個方法之前呢,我們也先來看一下 unset 函式,unset 這個函式的作用是刪除指定的變數且傳回true,引數為要刪除的變數。那麼如果在乙個物件外部去刪除物件內部的成員屬性用unset 函式可以嗎?這裡自然也是分兩種情況 1 如果乙個物件裡...
我不知道風是在哪乙個方向吹
我不知道風是在哪乙個方向吹,吹得樹兒直搖頭,吹得沙塵飛漫天。我不知道風是在哪乙個方向吹,吹得雲兒亂喘氣,吹得水兒起波瀾。我不知道風是在哪乙個方向吹,把風沙吹進了我的眼睛,讓我不敢睜眼看這漫天風沙的世界。我裹緊了衣服,他卻從縫隙鑽了進去。我不知道風是在哪乙個方向吹,我背對著他去,他卻繞了個彎,吹到我的...
PHP獲取指定函式定義在哪個檔案中及行號
當除錯開源的 時,希望檢視某個函式的定義,那麼就需要定位其位置。特別是有的專案中,函式會有多個地方都有定義,那麼如果我想知道當前呼叫的這個函式是在 定義的,可以用下面這個方法。function function dump funcname else catch reflectionexception...