PHP5.5中新增的参数跳跃和生成器功能介绍
生成器 ?
目前,自定義迭代器很少使用,因為它們的實現,需要大量的樣板代碼。生成器解決這個問題,并提供了一種簡單的樣板代碼來創建迭代器。?
例如,你可以定義一個范圍函數作為迭代器:?
<?php
function *xrange($start, $end, $step = 1) {
??? for ($i = $start; $i < $end; $i += $step) {
??????? yield $i;
??? }
}
foreach (xrange(10, 20) as $i) {
??? // ...
}
上述xrange函數具有與內建函數相同的行為,但有一點區別:不是返回一個PHP數組的所有值,而是返回一個迭代器動態生成的值。?
參數跳躍 ?
如果你有一個函數接受多個可選的參數,目前沒有辦法只改變最后一個參數,而讓其他所有參數為默認值。
RFC 上的例子,如果你有一個函數如下:?
function create_query($where, $order_by, $join_type='', $execute = false, $report_errors = true) { ... }
那么有沒有辦法設置$report_errors=false,而其他兩個為默認值。為了解決這個跳躍參數的問題而提出:?
create_query("deleted=0", "name", default, default, false);
我個人不是特別喜歡這個提議。在我的眼睛里,代碼需要這個功能,只是設計不當。函數不應該有12個可選參數。
?
?
?
轉載于:https://www.cnblogs.com/ctou45/archive/2013/01/07/2849129.html
總結
以上是生活随笔為你收集整理的PHP5.5中新增的参数跳跃和生成器功能介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: APL开发日志--2013-01-17
- 下一篇: 单个手指的手势识别