牛牛在线工具

RecursiveIteratorIterator::valid()

收录 8868 个 PHP 函数,含用途说明与用法示例。

RecursiveIteratorIterator::valid()

检查当前迭代器位置是否有效

函数名称:RecursiveIteratorIterator::valid() 适用版本:PHP 5 >= 5.1.0, PHP 7 函数描述:该函数用于检查当前迭代器位置是否有效。 用法: bool RecursiveIteratorIterator::valid ( void ) 参数: 该函数没有参数。 返回值: 如果当前迭代器位置有效,则返回true;否则返回false。 示例: class MyRecursiveIterator extends RecursiveArrayIterator { public function valid() { // 自定义实现valid()方法 // 在这里可以添加额外的判断条件 return parent::valid() && $this->current() != 'skip'; } } $array = array( 'fruit' => array('apple', 'banana', 'cherry'), 'veggie' => array('carrot', 'pea', 'broccoli') ); $iterator = new RecursiveIteratorIterator(new MyRecursiveIterator($array)); foreach ($iterator as $key => $value) { if ($iterator->valid()) { echo $key . ': ' . $value . PHP_EOL; } } 输出: fruit: apple fruit: banana fruit: cherry veggie: carrot veggie: pea veggie: broccoli 在上面的示例中,我们自定义了一个继承自RecursiveArrayIterator的MyRecursiveIterator类,并重写了valid()方法。在valid()方法中,我们添加了额外的判断条件,即当前元素不等于'skip'时才认为当前位置有效。 然后,我们创建了一个RecursiveIteratorIterator对象,将MyRecursiveIterator对象作为参数传入。然后使用foreach循环遍历迭代器,并在每个有效的位置输出键名和对应的值。 注意:需要注意的是,valid()方法在每次迭代之前被调用,以检查当前位置是否有效。