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设置默认编码为utf8的方法
Jul 01 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
python安装twisted的问题解析
Aug 21 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
python批量识别图片指定区域文字内容
Apr 30 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
python实现批量视频分帧、保存视频帧
May 31 Python
Python Django基础二之URL路由系统
Jul 18 Python
Python如何转换字符串大小写
Jun 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2020/01/22 PHP
Javascript - HTML的request类
2006/07/15 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
Python实现把数字转换成中文
2015/06/29 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
西班牙手机之家:Phone House
2018/10/18 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
解除劳动合同协议书范本
2014/04/14 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
给上级领导的感谢信
2015/01/22 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL