`

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数据的开发者来说。下面我们...

    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系统作为服务器操作系统广泛...

    MySql 5.5 + SqlManager

    MySQL 5.5是MySQL数据库管理系统的一个重要版本,它在MySQL的历史中扮演着关键角色,引入了许多增强功能和性能优化。SqlManager则是一款强大的数据库管理工具,帮助用户更有效地管理和维护MySQL数据库。以下是对这两...

    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开发的...

    php5.5+pdo+sqlserver 32位dll文件扩展

    在PHP 5.5中,连接SQL Server通常需要以下两个扩展:`php_pdo_sqlsrv_55_ts.dll` 和 `php_sqlsrv_55_ts.dll`(对于线程安全版本),或者 `php_pdo_sqlsrv_55_nts.dll` 和 `php_sqlsrv_55_nts.dll`(对于非线程安全...

    管理系统源码 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位安装包: ...

Global site tag (gtag.js) - Google Analytics