ホームページ > バックエンド開発 > PHPチュートリアル > PHPの__unset()メソッドの詳しい説明

PHPの__unset()メソッドの詳しい説明

藏色散人
リリース: 2023-04-07 06:32:01
オリジナル
7114 人が閲覧しました

__unset()。アクセスできないプロパティに対して unset() が呼び出されたときに呼び出されます。

このメソッドを見る前に、unset() 関数を見てみましょう。unset() の関数は、指定された変数を削除し、true を返すことです。パラメータは削除する変数です。 。

では、オブジェクトの外部にあるオブジェクト内のメンバー属性を削除したい場合は、unset() 関数を使用できますか?

ここには当然 2 つの状況があります:

1. オブジェクト内のメンバー属性がパブリックである場合、この関数を使用してオブジェクトの外部にあるオブジェクトを削除できます。公共の財産。

2. オブジェクトのメンバー属性がプライベートである場合、この関数を使用してそれらを削除する権限はありません。

上記の 2 つの状況がありますが、何が言いたいかというと、オブジェクトに __unset() メソッドを追加すると、オブジェクトのプライベート メンバー属性をオブジェクトの外に削除できるということです。 __unset() メソッドをオブジェクトに追加した後、オブジェクトの外部で「unset()」関数を使用してオブジェクト内のプライベート メンバー属性を削除すると、オブジェクトは自動的に __unset() 関数を呼び出して、プライベート メンバーの削除を支援します。オブジェクト内の属性、メンバーのプロパティ。

次のコードを参照してください:

<?php
class Person
{
    public $sex;
    private $name;
    private $age;
    public function __construct($name="",  $age=25, $sex=&#39;男&#39;)
    {
        $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);
ログイン後にコピー

実行結果:

当在类外部使用unset()函数来删除私有成员时自动调用的
1当在类外部使用unset()函数来删除私有成员时自动调用的
1
ログイン後にコピー

以上がPHPの__unset()メソッドの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート