Re: [請益] php跑判斷式的效能?

看板PHP作者 (每天都在公司玩OLG)時間15年前 (2011/01/14 00:33), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串3/3 (看更多)
其實 switch 跟 if 主要差別還是在維護、除錯的方便性。 若是有興趣的話,下載 PHP 的原始碼解開看... 追蹤 PHP 5.3.5: 1. Zend/zend_language_scanner.l 可以看到 <ST_IN_SCRIPTING>"if" { return T_IF; } <ST_IN_SCRIPTING>"switch" { return T_SWITCH; } 2. Zend/zend_language_parser.y 可以看到 | T_IF '(' expr ')' { zend_do_if_cond(&$3, &$4 TSRMLS_CC); } statement { zend_do_if_after_statement(&$4, 1 TSRMLS_CC); } elseif_list else_single { zend_do_if_end(TSRMLS_C); } | T_SWITCH '(' expr ')' { zend_do_switch_cond(&$3 TSRMLS_CC); } switch_case_list { zend_do_switch_end(&$6 TSRMLS_CC); } 3. Zend/zend_compile.c 可以看到 void zend_do_if_cond(...) void zend_do_if_after_statement(...) void zend_do_if_end(...) void zend_do_switch_cond(...) void zend_do_switch_end(...) 真如此講究的話,可以追蹤 === 跟 == ,很有趣。 :p -- ▄▆▇▍ ▆ ▇ ▏▎▍▌▋▊▉ φkaishin ┼── █▏── ▁▁▍▁ ─────── JoeHorn┬┼ ▄ꈠ ▂▄▎ ▄ ◢▆ ▄▎▄▅ └┼ ┼┐ ◢▂◤ ◢ ▄▄▆ ┼┴ -▂▄-──-─┼ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.129.239

01/14 15:17, , 1F
其實 看不太懂...
01/14 15:17, 1F

01/15 02:30, , 2F
我也沒有看很懂...但是最近也在想這個問題^^
01/15 02:30, 2F

01/15 09:57, , 3F
最近很愛用 === 的 ...
01/15 09:57, 3F
文章代碼(AID): #1DBobhth (PHP)
文章代碼(AID): #1DBobhth (PHP)