在写程序的时候,经常会为是改用empty()还是isset好,或是用单引号还是双引号来显示连接字符串而发出疑问,现在好了。我们其实可以通过程序很科学的得出精确的答案。知道我们的程序到底怎样写效率会更好。
全名是vulcan
logic disassembler,可以用来检测php脚本的执行情况。
1)
安装vld:
wget
http://pecl.php.net/get/vld
tar zxvf vld-0.9.1.tgz
cd
vld-0.9.1
phpize
./configure
make
install
编辑php.ini文件激活vld扩展:
extension=vld.so
别忘了重启apache。
下面我们看看如何检测php脚本的执行情况,看看php是如何处理单双引号字符串的:
s.php(单引号):<?php
echo ‘hello, world.‘; ?>
d.php(双引号):<?php echo "hello, world.";
?>
开始检测:
php -dvld.active=1 s.php或者d.php
结果不管是s.php还是d.php,number
of ops都是3,内容也都一样:
number of ops: 3
compiled vars:
none
line #
op
fetch ext return
operands
-------------------------------------------------------------------------------
1 0
echo
‘hello%2c+world.‘
2 1
return
1
2*
zend_handle_exception
通常人们总是说,单引号比双引号快。但正如上面的实验结果显示,如果仅仅是输出一个常量字符串,那么单引号和双引号的效率其实是一样的。大家可以试试连接两个变量时他们的效率是不是还是一样呢
2)