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 16 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
python实现随机梯度下降(SGD)
Mar 24 Python
python正则爬取某段子网站前20页段子(request库)过程解析
Aug 10 Python
Python数学形态学实例分析
Sep 06 Python
PyCharm导入python项目并配置虚拟环境的教程详解
Oct 13 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
python2.7使用scapy发送syn实例
May 05 Python
python怎么调用自己的函数
Jul 01 Python
Python实现Kerberos用户的增删改查操作
Dec 14 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数组中包含中文的排序方法
2014/06/03 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python完全新手教程
2007/02/08 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
建筑工程技术应届生自荐信
2013/09/27 职场文书
城市规划毕业生求职信
2013/10/10 职场文书
如何撰写岗位职责
2014/02/01 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
运动会宣传稿100字
2015/07/23 职场文书
MSSQL基本语法操作
2022/04/11 SQL Server