1 引號
關於雙引號"",單引號''
如果不轉義就使用單引號, 因為雙引號會搜尋變數, 單引號包裹的只是字串
2 數組入棧
$arr [] = 'x'; 代替array_push($arr, 'x'), 沒有函數調用的消耗
3 多分支選擇
switch case代替多個if else順便說一下, 當只有一個正確的輸出, 但是中間要排除很多的錯誤是, 不要用多個if else, 可以這樣,會是代碼優雅一點
function demo(){ if () return false; if () return false; if () return false; return 'x'; }
4 面向對象與面向過程的選擇
能簡化的事情, 盡量簡化, 不要事事都想建一個類別再來做, 類別的實例化的消耗比函數呼叫更耗內存, 類別的實例化要在是分配堆內存, 不是棧內存
5 盡量使用php自帶的函數
不要想到自己實現, php自帶的函數都是用c語言來寫的, 你用php寫的運行效率能比c高?
6 盡量不要使用全局變量
global, 全局變量影響程序結構,
7 這是php,不是c/c++
在c中i++只需要一條cpu指令, 所以我一直以為$i++的效率很高, 但是我看到的框架(比如tp)都沒用$i++, 而是使用$i + = 1, 才發現我太年輕了, 在php中$i++需要4條opcodes
8 內存洩漏php中一般不會內存洩漏的(運行完了就退出了, 沒有常駐進程), 但我就遇到過同事寫的程式, 莫名奇妙的返回空的頁面, 但是看代碼邏輯好像又沒問題, 用xdebug調試才發現, 遞歸沒有出口導致無限調用, 所以是程序就有可能出現內存洩漏