当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。