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 14 Python
tensorflow识别自己手写数字
Mar 14 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 Python
Python制作exe文件简单流程
Jan 24 Python
Django文件存储 默认存储系统解析
Aug 02 Python
python实现大学人员管理系统
Oct 25 Python
Python猴子补丁知识点总结
Jan 05 Python
python如何判断IP地址合法性
Apr 05 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
如何利用Python 进行边缘检测
Oct 14 Python
Python答题卡识别并给出分数的实现代码
Jun 22 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
详谈PHP编码转换问题
2015/07/28 PHP
php计算年龄精准到年月日
2015/11/17 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
js获取div高度的代码
2008/08/09 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
Python三元运算实现方法
2015/01/12 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Python实现选择排序
2017/06/04 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
详解Python 解压缩文件
2019/04/09 Python
如何理解python面向对象编程
2020/06/01 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
澳洲的服装老品牌:SABA
2018/02/06 全球购物
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
人民调解协议书范本
2014/10/11 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
在职证明书模板
2015/06/15 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书