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重新引入被覆盖的自带function
Jul 16 Python
python 全局变量的import机制介绍
Sep 07 Python
python中import reload __import__的区别详解
Oct 16 Python
Python中Proxypool库的安装与配置
Oct 19 Python
python实现二维数组的对角线遍历
Mar 02 Python
python实现Virginia无密钥解密
Mar 20 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
如何利用python生成MD5并去重
Dec 07 Python
python中取整数的几种方法
Nov 07 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
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php遍历删除整个目录及文件的方法
2015/03/13 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
Django 限制访问频率的思路详解
2019/12/24 Python
pandas-resample按时间聚合实例
2019/12/27 Python
医学生自荐信范文
2013/12/03 职场文书
财会自我鉴定范文
2013/12/27 职场文书
白酒市场开发计划书
2014/01/09 职场文书
分公司经理任命书
2014/06/05 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
英文商务邀请函范文
2015/01/31 职场文书
酒会开场白大全
2015/06/01 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
推广普通话主题班会
2015/08/17 职场文书
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python