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 08 Python
python解析模块(ConfigParser)使用方法
Dec 10 Python
python实现的重启关机程序实例
Aug 21 Python
python定时检查某个进程是否已经关闭的方法
May 20 Python
python字符串,数值计算
Oct 05 Python
Python对列表中的各项进行关联详解
Aug 15 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
tensorflow 打印内存中的变量方法
Jul 30 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 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
3.从实例开始
2006/10/09 PHP
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
小程序实现多列选择器
2019/02/15 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
python使用folium库绘制地图点击框
2018/09/21 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
会计专业自荐信
2013/12/02 职场文书
西门豹教学反思
2014/02/04 职场文书
初中教师业务学习材料
2014/05/12 职场文书
企业人事任命书
2014/06/05 职场文书
火箭队口号
2014/06/18 职场文书
会计学专业自荐信
2014/06/25 职场文书
财会专业大学生求职信
2014/09/26 职场文书
初中作文评语
2014/12/25 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
感恩教育观后感
2015/06/17 职场文书
《刷子李》教学反思
2016/02/20 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers