函式名稱:iterator_apply()
適用版本:PHP 5,PHP 7
函式描述:iterator_apply() 函式將一個函式應用到迭代器中的每個元素上。
語法:iterator_apply(Iterator $iterator, callable $function [, array $args = NULL])
引數:
- $iterator:必需,要應用函式的迭代器物件。
- $function:必需,要應用的函式或方法。可以是匿名函式、普通函式或者類方法。
- $args:可選,傳遞給函式的引數列表,以陣列形式提供。
返回值:成功時返回函式呼叫的結果,失敗時返回 FALSE。
示例:
// 建立一個陣列迭代器
$array = new ArrayIterator(['apple', 'banana', 'cherry']);
// 定義一個函式,將每個元素轉換為大寫
function toUpperCase($item) {
return strtoupper($item);
}
// 應用函式到迭代器中的每個元素
iterator_apply($array, 'toUpperCase');
// 輸出轉換後的結果
foreach ($array as $item) {
echo $item . ' '; // 輸出:APPLE BANANA CHERRY
}
注意事項:
- 迭代器物件必須實現 Iterator 介面。
- 函式或方法必須接受一個引數,該參數列示迭代器中的每個元素。
- 如果函式或方法需要多個引數,可以使用 $args 引數來傳遞引數列表。例如:
iterator_apply($iterator, 'myFunction', [$arg1, $arg2, $arg3])
。