原创 php foreach 遍歷數據遇到的問題

用foreach遍歷一個含有1001個元素的數組: function get_memory() { echo memory_get_usage() . PHP_EOL; } $arr = range(1, 10001); echo

原创 SPL數據結構擴展

    SPL是php標準庫,將一些比較實用的函數、類和接口以庫的形式放在php內核中,《PHP高級程序設計:模式、框架與測試》一書中對spl的講解已非常詳細,裏面對數據結構這一塊沒有涉及到。spl裏實現了幾種簡單的線性表和樹型結構,包括

原创 mysql讀事務的隔離級別

碰到的問題:做sns系統,對發佈和評論的操作做異步處理,將發佈和評論插入mysql後的id放入隊列中,有一個常駐php進程負責從隊列從隊列中取得id做後續一些列的計數、通知等操作。正式環境上客戶端瀏覽器發佈和評論後,php腳本從數據庫裏讀

原创 include|require(_once)? 在php底層實現

ZEND_VM_HANDLER(73, ZEND_INCLUDE_OR_EVAL, CONST|TMP|VAR|CV, ANY) { USE_OPLINE zend_op_array *new_op_array=NULL; zend

原创 PHP的包依賴管理工具Composer

Composer是一個基於項目的依賴管理器,負責將PHP項目所依賴的包或庫安裝到項目所在的目錄中,默認它不會安裝任何數據到全局。它用於取代之前所使用的pear工具。1 安裝Composer [plain] view plaincop

原创 幾種web並行化編程實現

    當網站做到一定規模的時候,web單個頁面需要涉及到的業務也會越來越多,每個頁面可能會向後端發起幾個、十幾個甚至幾十個請求。對於java、python之類的支持多線程的語言可以使用多線程編程,但也會增加程序的複雜性,像php這樣的不

原创 php共享內存實現

         接着上上篇博客http://blog.csdn.net/wzllai/article/details/8231974 裏面的問題,如何避免每次請求都包含文件。自己寫擴展對當前業務來說解決顯然有點小題大做,在php中其實可

原创 用c寫一個提取股票信息的php擴展

    工作中碰到一個業務方面的問題:要從用戶輸入的一堆內容中提取第一個觸發到的股票代碼或者名稱使其能夠按照股票分類。     之前的做法是把兩千多個股票代碼和對應的名字放在小文件中,每次請求都會包含文件然後解析,對應用的效率會有一定的影

原创 GNU/Linux平臺的C開發及運行環境

在查詢size命令的時候發現的文章,感覺不錯,轉下來。 本文介紹在GNU/Linux環境下一個C程序由源代碼到程序,到加載運行,最後終止的過程。同時以此過程爲載體,介紹GNU/Linux平臺下軟件開發工具的使用。 本文以我們最常見的hel