[PHP语言] PHP中__unset()方法详解

[复制链接]
查看1661 | 回复12 | 2020-10-31 14:55:33 | 显示全部楼层 |阅读模式
__unset(),当对不可访问属性调用unset()时被调用。

看这个方法之前呢,我们也先来看一下 unset() 函数,unset()这个函数的作用是删除指定的变量且传回true,参数为要删除的变量。

那么如果在一个对象外部去删除对象内部的成员属性用unset()函数可以吗?

这里自然也是分两种情况:

1、 如果一个对象里面的成员属性是公有的,就可以使用这个函数在对象外面删除对象的公有属性。

2、 如果对象的成员属性是私有的,我使用这个函数就没有权限去删除。

虽然有以上两种情况,但我想说的是同样如果你在一个对象里面加上__unset()这个方法,就可以在对象的外部去删除对象的私有成员属性了。在对象里面加上了__unset()这个方法之后,在对象外部使用“unset()”函数删除对象内部的私有成员属性时,对象会自动调用__unset()函数来帮我们删除对象内部的私有成员属性。

请看如下代码:

<?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);

运行结果:

当在类外部使用unset()函数来删除私有成员时自动调用的
1当在类外部使用unset()函数来删除私有成员时自动调用的
1

以上就是PHP中__unset()方法详解的详细内容,更多请关注爱上源码网其它相关文章!

  • 微信
  • 分享
  • 相关标签:unset()
  • 本文原创发布爱上源码网,转载请注明出处,感谢您的尊重!
    • 上一篇:TP5(layui)excel导入
    • 下一篇:PHP中__sleep()方法详解

    相关文章

    相关视频

    • php中isset()和unset()函数使用方法...
    • php isset()函数和unset()函数的用...
    • 如何使用unset()删除foreach循环中的...
    • PHP中session_unset()和sessi...
    • PHP中__unset()方法详解
    • Thinkphp6.0 源码下载与安装
    • ThinkPHP6.0课程总结
    • ThinkPHP6.0快速预览
    本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn! 本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
    回复

    使用道具 举报

    hhhong2017 | 2021-3-24 14:28:17 | 显示全部楼层
    有情怀的站啊,爱了
    回复

    使用道具 举报

    吴秀锦 | 2021-7-2 17:42:57 | 显示全部楼层
    谢谢楼主分享的资源,爱了~~~
    回复

    使用道具 举报

    狂风974 | 2022-4-23 10:00:07 | 显示全部楼层
    很不错的资源站
    回复

    使用道具 举报

    汪晨霞 | 2022-5-15 22:21:04 | 显示全部楼层
    祝愿悟空源码越办越好!
    回复

    使用道具 举报

    落叶的时节 | 2022-6-1 09:32:08 | 显示全部楼层
    支持悟空源码,越来越好
    回复

    使用道具 举报

    紫色爱玫瑰咎 | 2022-6-2 02:36:23 | 显示全部楼层
    厉害了悟空源码,这么多资源
    回复

    使用道具 举报

    铁血_斩蛇 | 2022-6-2 14:14:14 | 显示全部楼层
    加油!悟空源码,继续努力!支持你!
    回复

    使用道具 举报

    uec7898336 | 2022-6-2 14:49:53 | 显示全部楼层
    资源太多了,准备办个会员
    回复

    使用道具 举报

    因醉鞭名马幌 | 2023-1-18 07:31:52 | 显示全部楼层
    感谢悟空源码分享精品资源!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则