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 相关文章推荐
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
Python生成器的使用方法和示例代码
Mar 04 Python
selenium处理元素定位点击无效问题
Jun 12 Python
使用pycharm在本地开发并实时同步到服务器
Aug 02 Python
python3 反射的四种基本方法解析
Aug 26 Python
在pycharm中显示python画的图方法
Aug 31 Python
python双向链表原理与实现方法详解
Dec 03 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
pandas的相关系数与协方差实例
Dec 27 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 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随机输出名人名言的代码
2012/10/07 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
浅谈php自定义错误日志
2015/02/13 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
php实现简单加入购物车功能
2017/03/07 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
python中copy()与deepcopy()的区别小结
2018/08/03 Python
Python模块的加载讲解
2019/01/15 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
美容院考勤制度
2014/01/30 职场文书
网络技术专业求职信
2014/02/18 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
大跃进口号
2014/06/16 职场文书
2014年文员工作总结
2014/11/18 职场文书
纪录片信仰观后感
2015/06/08 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技