今天,在閱讀別人**時,其中出現了乙個陌生的關鍵字yield,想一**竟,於是找到:
yield生成器是php5.5之後出現的,yield提供了一種更容易的方法來實現簡單的迭代物件,相比較定義類實現 iterator 介面的方式,效能開銷和複雜性大大降低。
yield生成器允許你 在 foreach **塊中寫**來迭代一組資料而不需要在記憶體中建立乙個陣列。
使用示例:
/** * 計算平方數列
* @param $start
* @param $stop
* @return generator */
function squares($start, $stop
) }
else
}}foreach (squares(3, 15) as
$n => $square
) 輸出:
3 squared is 9
4 squared is 16
5 squared is 25
...
示例2:
//對某一陣列進行加權處理
$numbers = array(『nike『 => 200, 『jordan『 => 500, 『adiads『 => 800);
//通常方法,如果是百萬級別的訪問量,這種方法會占用極大記憶體
function rand_weight($numbers
)
$rand = mt_rand(0, $total-1);
foreach ($distribution
as$num => $weight) }
//改用yield生成器
function mt_rand_weight($numbers) }
function mt_rand_generator($numbers
)}
php 5 5 編譯安裝
configure prefix usr local php with config file path usr local php etc with mysql usr local mysql with config file scan dir usr local php etc enable i...
在Zend Studio中除錯PHP(5 5)
本教程將教會您如何除錯檔案和應用程式以便從您的php 中獲取最大的效率和準確性。zend studio的除錯功能可以檢查並診斷php 在本地或遠端伺服器上的錯誤。偵錯程式允許您通過設定斷點 暫停啟動的程式 單步除錯 和檢查變數的內容來控制程式的執行。除錯應該在您的指令碼和應用程式已經充分形成試用和測...
PHP5 5 雜湊加密和匹配
雜湊加密從php5.5開始支援,相比md5加密更安全,不可逆 使用方法如下 使用 password hash password,password default 加密 使用 password verify password,hash 判斷是否匹配 secret 123456 hash passwor...