php unset方法,PHP中__unset()方法详解
__unset(),当对不可访问属性调用unset()时被调用。
看这个方法之前呢,我们也先来看一下 unset() 函数,unset()这个函数的作用是删除指定的变量且传回true,参数为要删除的变量。
那么如果在一个对象外部去删除对象内部的成员属性用unset()函数可以吗?
这里自然也是分两种情况:
1、 如果一个对象里面的成员属性是公有的,就可以使用这个函数在对象外面删除对象的公有属性。
2、 如果对象的成员属性是私有的,我使用这个函数就没有权限去删除。
虽然有以上两种情况,但我想说的是同样如果你在一个对象里面加上__unset()这个方法,就可以在对象的外部去删除对象的私有成员属性了。在对象里面加上了__unset()这个方法之后,在对象外部使用“unset()”函数删除对象内部的私有成员属性时,对象会自动调用__unset()函数来帮我们删除对象内部的私有成员属性。
请看如下代码:<?php
class Person
{
public $sex;
private $name;
private $age;
public function __construct($name="", $age=25, $sex='男')
{
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
}
/**
* @param $content
*
* @return bool
*/
public function __unset($content) {
echo "当在类外部使用unset()函数来删除私有成员时自动调用的
";
echo isset($this->$content);
}
}
$person = new Person("小明", 25); // 初始赋值
unset($person->sex);
unset($person->name);
unset($person->age);
运行结果:当在类外部使用unset()函数来删除私有成员时自动调用的
1当在类外部使用unset()函数来删除私有成员时自动调用的
1
php unset方法,PHP中__unset()方法详解相关推荐
- android调webview的方法,Android中的WebView详解
Android中的WebView详解 WebView详解 基本用法 布局文件配置WebView android:id="@+id/wv_news_detail" android:l ...
- java8 方法引用详解_Java8中如何通过方法引用获取属性名详解
前言 在我们开发过程中常常有一个需求,就是要知道实体类中Getter方法对应的属性名称(Field Name),例如实体类属性到数据库字段的映射,我们常常是硬编码指定 属性名,这种硬编码有两个缺点. ...
- python中docx模块的使用_python使用docx模块读写docx文件的方法与docx模块常用方法详解...
一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...
- Vue中 Vue.prototype 详解及使用——作用:避免和已被定义的数据、方法、计算属性产生冲突
Vue中 Vue.prototype 详解及使用--作用:避免和已被定义的数据.方法.计算属性产生冲突 **应用场景:**在很多组件里用到数据/实用工具,但是不想污染全局作用域.这种情况下,可以通过在 ...
- hp打印机没有右键扫描_安装HP打印机报错 0x000006be解决方法,图文操作步骤详解...
安装HP打印机报错 0x000006be解决方法,图文操作步骤详解 1. 首先打开控制面板 2.在程序和功能窗口中找是否有HP的打印机驱动,卸载掉 3.打开C:WindowsSystem32spool ...
- 计算机辅助药物设计的一般原理,朱瑞新着--_计算机辅助药物设计(Ⅰ)--基本方法原理概要与实践详解.pdf...
文档介绍: 计算机辅助药物设计 ------ 基本方法原理概要与实践详解作者朱瑞新 2011 年 1 月目录序前言第一章"计算机辅助药物设计"与 M OE 概貌一.导言二.&quo ...
- 01.软件项目管理与敏捷方法——敏捷项目生命周期详解笔记
01.软件项目管理与敏捷方法--敏捷项目生命周期详解笔记 00.与其说是船还不如说是熟练的航行技术保证了成功的航行.--George William Curtis 01.敏捷项目是一个按照敏捷宣言宗旨 ...
- 【Android语音合成TTS】百度语音接入方法,和使用技巧详解
请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的 ...
- 三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解
三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解 本次以FX3U系列PLC的模拟量输入模块FX3U-4AD进行举例说明: 该模块的部分技术数据如下图所示, 该模块的接线端子排列 ...
最新文章
- 强化学习常用算法+实际应用 ,必须get这些核心要点!
- java设计模式:Builder模式
- python的init函数里参数的作用
- hdu 5305 回溯+剪枝
- Python reload 函数 - Python零基础入门教程
- 背包——完全背包Warcraft III(哈理工1053)
- 阿里云服务器对外开放tomcat端口访问
- 分享一个好用的Python在线编辑器
- 第一次部署海康威视DEMO的一些坑,最终运行成功
- DOSBox指令全 汇编指令大全 debug
- CMSIS到底是个什么东西
- GitLab使用教程(详细)
- 人生中第一次在优品拍拍买二手手机的经历
- matlab imcrop 用法
- 如何快速的把m4a转换成mp3格式
- 找到多个名为spring_web的片段。这是不合法的相对排序。有关详细信息,请参阅Servlet规范的第8.2.2 2c节。考虑使用绝对排序。
- 煤炭传送带状态检测系统-python
- 市面上U盘便宜种类多 如何鉴别便宜U盘好坏呢
- hover在两种情况下的两种用法
- php2twig,php twig是什么意思
热门文章
- [iOS微博项目 - 2.6] - 获取微博数据
- MAC搭建kafka客户端以及实现生产消费
- Gavin老师Transformer直播课感悟 - 基于Transformer的Rasa Internals解密之全新一代可伸缩DAG图架构(四)
- 从Windows过渡到Mac需要注意的那些事儿!
- Ubuntu系统学习笔记(完整版)
- Parallels Desktop for Mac - PD18 虚拟机
- 注意!年底前没参加继续教育的会计,或将无法报名2023年会计考试!
- fedora 9下驱动摄像头采集图像手记
- 2021-2027全球及中国激光投影键盘行业研究及十四五规划分析报告
- 【Vapor】06 Chapter 8: Controllers