PHP魔术方法__ISSET、__UNSET使用实例


Posted in Python onNovember 25, 2014

__isset()

  ? 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法

__unset()

- 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则自动执行__unset()的方法

<?php

    /**

     * 针对类中的魔术方法 __isset() 和 __unset() 的例子

     */
class Example {

    public $public;

    protected $protected;

    private $private;

    

    public function __construct(){

        $this->public = 'pub';

        $this->protected = 'pro';

        $this->private = 'pri';

    }

    

    public function __isset($var){

        echo '这里通过__isset()方法查看属性名为 '.$var."\n";

    }

    

    public function __unset($var){

        echo '这里通过__unset()方法要销毁属性名为 '.$var."\n";

    }

}
$exa = new Example;
echo '<pre>';

var_dump(isset($exa->public));

echo "\n";

var_dump(isset($exa->protected));

echo "\n";

var_dump(isset($exa->private));

echo "\n";

var_dump(isset($exa->noVar));

echo "\n";

echo '<hr/>';


unset($exa->public);

var_dump($exa);
echo "\n";

unset($exa->protected);

echo "\n";

unset($exa->private);

echo "\n";

unset($exa->noVar);

echo "\n";

结果如下:

bool(true)

这里通过__isset()方法查看属性名为 protected

bool(false)

这里通过__isset()方法查看属性名为 private

bool(false)

这里通过__isset()方法查看属性名为 noVar

bool(false)

object(Example)#1 (2) {

  ["protected:protected"]=>

  string(3) "pro"

  ["private:private"]=>

  string(3) "pri"

}

这里通过__unset()方法要销毁属性名为 protected

这里通过__unset()方法要销毁属性名为 private

这里通过__unset()方法要销毁属性名为 noVar

Python 相关文章推荐
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
解密Python中的描述符(descriptor)
Jun 03 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
Python列表与元组的异同详解
Jul 02 Python
基于Django实现日志记录报错信息
Dec 17 Python
python中有关时间日期格式转换问题
Dec 25 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
python实现简单学生信息管理系统
Apr 09 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
浅谈anaconda python 版本对应关系
Oct 07 Python
Python实现聚类K-means算法详解
Jul 15 Python
Python标准库之多进程(multiprocessing包)介绍
Nov 25 #Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 #Python
Python标准库之循环器(itertools)介绍
Nov 25 #Python
Python标准库之sqlite3使用实例
Nov 25 #Python
Python标准库内置函数complex介绍
Nov 25 #Python
Python XML RPC服务器端和客户端实例
Nov 22 #Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 #Python
You might like
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
javascript 写类方式之十
2009/07/05 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
python实现的jpg格式图片修复代码
2015/04/21 Python
九步学会Python装饰器
2015/05/09 Python
Python实现截屏的函数
2015/07/25 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
天鹅的故事教学反思
2014/02/04 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
交通事故协议书范文
2014/04/16 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
软环境建设心得体会
2014/09/09 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
2015年打非治违工作总结
2015/04/02 职场文书