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输出汉字字库及将文字转换为图片的方法
Jun 04 Python
python3 模拟登录v2ex实例讲解
Jul 13 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
python编程线性回归代码示例
Dec 07 Python
Python中最大最小赋值小技巧(分享)
Dec 23 Python
python实现excel读写数据
Mar 02 Python
Python paramiko模块的使用示例
Apr 11 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python中zip()函数的简单用法举例
Sep 02 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
python实现定时发送邮件
Dec 23 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数据浏览器
2007/03/11 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
jQuery学习笔记之总体架构
2014/06/03 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
js解决movebox移动问题
2016/03/29 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
软件配置管理有什么好处
2015/04/15 面试题
关键字throw与throws的用法差异
2016/11/22 面试题
企业业务员岗位职责
2014/03/14 职场文书
寄语学生的话
2014/04/10 职场文书
创建青年文明号材料
2014/05/09 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
班主任开场白
2015/06/01 职场文书