當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP iterator_apply()用法及代碼示例


iterator_apply()function 是 PHP 中的內置函數,用於將用戶定義的回調函數應用於迭代器的每個元素。它允許您迭代任何元素而不使用任何類型的循環。

用法:

int iterator_apply(
Traversable $iterator, 
callable $callback, 
?array $args = nul
l): int

參數:該函數接受下麵說明的三個參數。

  • $iterator: 將應用回調函數的迭代器
  • $funtion: 這是回調函數。也就是調用每一個元素。必須返回‘true’以供進一步調用。
  • $args: 參數數組;的每個元素args被傳遞給回調callback作為一個單獨的參數。

返回值: iterator_apply()函數返回迭代器元素。

程序1:下麵的程序演示了iterator_apply()函數。

PHP


<?php 
  
function check_for_a(Iterator $iterator) { 
    $element = $iterator->current(); 
      
    if (stripos($element, 'a') !== false) { 
        echo "Element '$element' " . 
            "contains the letter 'a'.\n"; 
    } else { 
        echo "Element '$element' " . 
            "does not contain the letter 'a'.\n"; 
    } 
      
    return TRUE; 
} 
  
$fruits = array( 
    "Orange",  
    "Banana",  
    "Grapes",  
    "Kiwi"
); 
  
$arrIter = new ArrayIterator($fruits); 
  
iterator_apply($arrIter,  
    "check_for_a", array($arrIter)); 
  
?>
輸出
Element 'Orange' contains the letter 'a'.
Element 'Banana' contains the letter 'a'.
Element 'Grapes' contains the letter 'a'.
Element 'Kiwi' does not contain the letter 'a'.

程序2:下麵的程序演示了iterator_apply()函數。

PHP


<?php 
  
function print_positive_integers(Iterator $iterator) { 
    $element = $iterator->current(); 
      
    if (is_int($element) && $element > 0) { 
        echo "Positive Integer: $element\n"; 
    } 
    return TRUE; 
} 
      
$arr = array(10, -5, 20, -15, 30, 0, 25, -8, 40); 
  
$arrIter = new ArrayIterator($arr); 
  
iterator_apply( 
    $arrIter,  
    "print_positive_integers",  
    array($arrIter) 
); 
      
?>
輸出
Positive Integer: 10
Positive Integer: 20
Positive Integer: 30
Positive Integer: 25
Positive Integer: 40

參考:https://www.php.net/manual/en/function.iterator-apply.php



相關用法


注:本文由純淨天空篩選整理自neeraj3304大神的英文原創作品 PHP iterator_apply() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。