`

PHP 5.5 empty + 魔术变量 的坑

阅读更多

今天在测试代码时遇到这么一个疑问?

			dump((int)empty($response->raw_body));
			
			$response_body = $response->raw_body;
			
			dump(' ' . (int)empty($response_body));

 这段代码的输出结果却是:

写道
1
0

 

为什么会这样呢,很奇怪是不是? 我那个 $response 是一个类对象,其获取

raw_body

属性是通过魔术函数来获取的

public function __get($property)
	{
		echo 123;
		if (property_exists($this, $property)) {
			return $this->$property;
		}
	}

 

为了测试,我在上面的代码中输出了 123,结果显示

写道
1

123

0

 

也就是说

(int)empty($response->raw_body)

时并没有去执行 对象 $response 的 __get 方法

 

所以在用PHP魔术变量的童鞋们 注意下这个坑

 

1
0
分享到:
评论
1 楼 vb2005xu 2014-04-18  
http://www.ez-css.org/

相关推荐

    MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip

    MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip

    网文快捕_CyberArticle_v5.5 5.3 +破解补丁

    网文快捕_CyberArticle_v5.5 5.3 +破解补丁

    php5.5 +sqlsrv+sqlserver

    标题 "php5.5 +sqlsrv+sqlserver" 指的是在PHP 5.5版本中使用sqlsrv扩展来连接并操作SQL Server数据库。这是一个关键的集成技术,特别是对于那些需要在PHP环境中处理Microsoft SQL Server数据的开发者来说。下面我们...

    CentOS5.5 DRBD+Heartbeat+NFS 详细配置过程

    "CentOS5.5 DRBD+Heartbeat+NFS 详细配置过程" 本文将详细讲解 CentOS 5.5 下的 DRBD、Heartbeat 和 NFS 的配置过程。这个配置过程主要是为了实现高可用性和数据存储的解决方案。 首先需要安装 CentOS 5.5,並在 ...

    adblock__plus-0.7.5.5-fx+fl+zm+sg+tb.xpi

    adblock__plus-0.7.5.5-fx+fl+zm+sg+tb.xpi

    MySQL5.5服务端+MySQL-Front客户端.zip

    - MySQL5.5广泛应用于Web开发,与PHP、Java、Python等编程语言有良好的兼容性,支持多种开发框架。 - MySQL-Front可与IDE集成,便于开发者在编写代码的同时进行数据库操作。 综上所述,"MySQL5.5服务端+MySQL-...

    RedHat_Enterprise_Linux5.5 64+32位

    RHEL 5.5是该系列的一个特定发行版,发布于2010年,提供了对64位(x86_64)和32位(i386)架构的支持。在描述中提到的“刚亲测可用”,意味着这个发行版在发布时或者近期仍然是可靠的,可以安装和运行在兼容的硬件上...

    CentOs5.5+mysql+nginx+php5.3.3安全安装手册.doc

    CentOs5.5+mysql+nginx+php5.3.3安全安装手册.doc

    php5.5环境变量配置

    在这个环境中,我们将讨论如何配置PHP 5.5的环境变量,以便在Windows系统上能够顺利运行PHP程序。 首先,我们需要下载并安装PHP 5.5。这通常涉及到从官方PHP网站获取合适的二进制发行版,对于Windows系统,可能是预...

    RHEL5.5+drbd+heartbeat+oracle10R2 双机安装实例

    RHEL5.5+drbd+heartbeat+oracle10R2 双机安装实例

    CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录

    本文主要介绍了如何在CentOS操作系统上搭建一个包含PHP5.5、Redis、XDebug、Nginx和MySQL的开发环境。以下是该教程中涉及的关键知识点的详细说明: 1. CentOS系统环境准备: - CentOS系统作为服务器操作系统广泛...

    Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services

    本文以Eclipse3.2、MyEclipse5.5M1、axis2_1.1.1和tomcat5.5为例,详细讲解如何构建Web服务的开发环境,并快速创建和部署服务。 首先,我们需要准备以下软件: 1. **Tomcat 5.5**:这是一个流行的Java Servlet和...

    ccs5.5+SEED-XDS510Plus驱动_CCS5.5+XDS510Plus_ccs5.5_seed_

    在压缩包文件中,"ccs5.5+驱动"可能是CCS5.5的安装文件和XDS510Plus的驱动程序,用户需要先安装CCS5.5,然后安装对应的驱动程序,才能确保CCS5.5能正确识别和通信XDS510Plus仿真器。 总的来说,理解和掌握CCS5.5与...

    php5.5+apache2.4完美整合

    当我们提到"PHP5.5 + Apache2.4 完美整合"时,意味着我们要在Apache服务器上配置并运行PHP5.5版本,以实现高效且稳定的Web服务。 首先,让我们了解PHP5.5的主要特点和改进。PHP5.5是PHP5系列的一个重要升级,它引入...

    基于PHP+laravel5.5+vue.js+element-ui开发的宠物饲养管理平台+源码(毕业设计&课程设计&项目开发)

    基于PHP+laravel5.5+vue.js+element-ui开发的宠物饲养管理平台+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于PHP+laravel5.5+vue.js+element-ui开发的...

    管理系统源码 PHP 5.5+ MySQL 5.1+

    推荐运行环境: PHP 5.5+ MySQL 5.1+ 源码从2007年10月起开始编写,经由2009年改换内核, 由于历史久远,代码质量良莠不一,其核心部分,至今仍有研究价值(主从MYSQL数据库程序设计、分布式内存等)。

    搭建Eclipse3.2.2+MyEclipse5.5+Tomcat+Weblogic

    至此,Eclipse3.2.2+MyEclipse5.5+Tomcat+Weblogic的开发环境已经搭建完成。开发者可以在这样的环境中编写、调试和部署Java应用程序,包括Servlet、JSP、JavaBeans等。记得定期更新你的开发工具,以保持与最新技术和...

    php5.5+apache2.4配置,PHP安装包,PHP配置说明

    php5.5+apache2.4配置,PHP安装包,PHP配置说明; 压缩包内容: Apache2.4的32位和64位安装包: httpd-2.4.10-win32-VC11.zip、httpd-2.4.10-win64-VC11.zip PHP5.5的32位和64位安装包: ...

    IDA 5.5 pro + 汉化.part2.rar

    IDA is an interactive disassembler. It means that the user takes active participation in the disassembly process. IDA is not an automatic analyzer of programs. IDA will give you hints of suspicious ...

Global site tag (gtag.js) - Google Analytics