記事本   >>  網站技術
PHP 優化筆記-直接輸出處理過的變數;除非有特殊的理由
剛開始寫程式的時候為了方便、好讀,會把變數處理的過程一步步的寫下來,就像:

$str = $_POST['str'];
$str = strip_tags($str);
echo $str;

這樣過程是很清楚,但是解析一下運作過程:
1.設定記憶體區塊,把傳送來的變數放入記憶體空間一
2.新增一個記憶體空間二
3.打開步驟一設定的記憶體區塊一,執行函數,逐一找到符合對象加以取代。
4.把記憶體區塊一的資料複製到記憶體區塊二
5.確認記憶體區塊一的資料完全複製到記憶體區塊二中後,刪除記憶體區塊一的資料。
6.輸出記憶體區塊二中的資料。

在這過程中,從步驟二~步驟五,所花的記憶體實際上會是一倍,例如 100KB 的資料很可能佔用的是 200KB的空間。
因此如果換成這樣

echo strip_tags($_POST['str']);
那麼執行過程就變成:
1.設定記憶體空間一,把傳來的資料放在記憶體空間一。
2.在記憶體空間一中,使用 strip_tags 逐一取代符合的字串。
3.取代完後直接輸出記憶體空間一中的資料。

這樣的作法可以避免記憶體的消耗,尤其在大量變數做個別重複運算時更顯得重要。


進階搜尋
找商品說明
價錢: -
此分類無可選擇屬性

會員登入