在寫程式的時候,經常會為是改用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)