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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
跟老齐学Python之类的细节
Oct 13 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
python append、extend与insert的区别
Oct 13 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
python-itchat 获取微信群用户信息的实例
Feb 21 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
再探JavaScript作用域
2014/09/24 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
express框架下使用session的方法
2019/07/31 Javascript
Python异常处理总结
2014/08/15 Python
python简单判断序列是否为空的方法
2015/06/30 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python for循环remove同一个list过程解析
2019/08/14 Python
python对execl 处理操作代码
2020/06/22 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
本科毕业生求职自荐信
2014/02/03 职场文书
平安建设实施方案
2014/03/19 职场文书
工作保证书范文
2014/04/29 职场文书
家长学校工作方案
2014/05/07 职场文书
三年级学生评语大全
2014/12/26 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android