中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中__isset()方法有什么用

發布時間:2020-10-24 15:46:55 來源:億速云 閱讀:164 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關PHP中__isset()方法有什么用的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

 __isset(),當對不可訪問屬性調用isset()或empty()時調用

在看這個方法之前我們看一下isset()函數的應用,isset()是測定變量是否設定用的函數,傳入一個變量作為參數,如果傳入的變量存在則傳回true,否則傳回false。

那么如果在一個對象外面使用isset()這個函數去測定對象里面的成員是否被設定可不可以用它呢?

分兩種情況,如果對象里面成員是公有的,我們就可以使用這個函數來測定成員屬性,如果是私有的成員屬性,這個函數就不起作用了,原因就是因為私有的被封裝了,在外部不可見。那么我們就不可以在對象的外部使用isset()函數來測定私有成員屬性是否被設定了呢?當然是可以的,但不是一成不變。

你只要在類里面加上一個__isset()方法就可以了,當在類外部使用isset()函數來測定對象里面的私有成員是否被設定時,就會自動調用類里面的__isset()方法了幫我們完成這樣的操作。

__isset()的作用:

當對不可訪問屬性調用 isset() 或 empty() 時,__isset() 會被調用。

請看下面代碼演示:

<?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 __isset($content) {
        echo "當在類外部使用isset()函數測定私有成員{$content}時,自動調用<br>";
        echo  isset($this->$content);
    }
}
$person = new Person("小明", 25); // 初始賦值
echo isset($person->sex),"<br>";
echo isset($person->name),"<br>";
echo isset($person->age),"<br>";

運行結果如下:

1 // public 可以 isset()
當在類外部使用isset()函數測定私有成員name時,自動調用 // __isset() 內 第一個echo
1 // __isset() 內第二個echo
當在類外部使用isset()函數測定私有成員age時,自動調用 // __isset() 內 第一個echo
1 // __isset() 內第二個echo

感謝各位的閱讀!關于PHP中__isset()方法有什么用就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

天等县| 万全县| 洪洞县| 盐津县| 河池市| 兴仁县| 望都县| 阳曲县| 太谷县| 格尔木市| 保定市| 道真| 金昌市| 卢龙县| 永胜县| 铜陵市| 吐鲁番市| 米易县| 焉耆| 佛冈县| 积石山| 罗定市| 咸阳市| 大埔区| 镇宁| 永昌县| 丰县| 呼和浩特市| 普洱| 扶风县| 民权县| 晴隆县| 那坡县| 肥西县| 彩票| 公安县| 政和县| 论坛| 鄢陵县| 闻喜县| 连城县|