recursivedualiterator.inc

来自「PHP v6.0 For Linux 运行环境:Win9X/ WinME/ Wi」· INC 代码 · 共 73 行

INC
73
字号
<?php/** @file recursivedualiterator.inc * @ingroup Examples * @brief class RecursiveDualIterator * @author  Marcus Boerger * @date    2003 - 2006 * * SPL - Standard PHP Library *//** @ingroup Examples * @brief   Synchronous iteration over two recursive iterators * @author  Marcus Boerger * @version 1.0 */class RecursiveDualIterator extends DualIterator implements RecursiveIterator{	private $ref;	/** construct iterator from two iterators	 *	 * @param lhs   Left  Hand Side Iterator	 * @param rhs   Right Hand Side Iterator	 * @param flags iteration flags	 */	function __construct(RecursiveIterator $lhs, RecursiveIterator $rhs, 				$flags = 0x33 /*DualIterator::DEFAULT_FLAGS*/)	{		parent::__construct($lhs, $rhs, $flags);	}	/** @return whether both LHS and RHS have children	 */	function hasChildren()	{		return $this->getLHS()->hasChildren() && $this->getRHS()->hasChildren();		}	/** @return new RecursiveDualIterator (late binding) for the two inner 	 * iterators current children.	 */	function getChildren()	{		if (empty($this->ref))		{			$this->ref = new ReflectionClass($this);		}		return $this->ref->newInstance(					$this->getLHS()->getChildren(), $this->getRHS()->getChildren(), $this->getFlags());	}	/** @return whether both inner iterators are valid, have same hasChildren()	 * state and identical current and key values or both are non valid.	 */	function areIdentical()	{		return $this->getLHS()->hasChildren() === $this->getRHS()->hasChildren()			&& parent::areIdentical();	}	/** @return whether both inner iterators are valid, have same hasChildren()	 * state and equal current and key values or both are invalid.	 */	function areEqual()	{		return $this->getLHS()->hasChildren() === $this->getRHS()->hasChildren()			&& parent::areEqual();	}}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?