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入门篇之正则表达式
Oct 20 Python
Python实现拼接多张图片的方法
Dec 01 Python
Python实现的彩票机选器实例
Jun 17 Python
Tensorflow环境搭建的方法步骤
Feb 07 Python
python书籍信息爬虫实例
Mar 19 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
python基础 range的用法解析
Aug 23 Python
python打包成so文件过程解析
Sep 28 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 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 Session 变量的使用方法详解与实例代码
2013/09/11 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
js 对象是否存在判断
2009/07/15 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
Python下载网络小说实例代码
2018/02/03 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
销售员自我评价怎么写
2013/09/19 职场文书
小区消防演习方案
2014/02/21 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
浅析Python OpenCV三种滤镜效果
2022/04/11 Python
Python Pandas解析读写 CSV 文件
2022/04/11 Python