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 + -
显示快捷键?