【发布时间】:2015-02-05 12:11:59
【问题描述】:
PHP Iterator::key 页面说:
Return Values:
Returns scalar on success, or NULL on failure.
但是为了能够在迭代器逻辑中从Iterator::key 中判断当前迭代器节点是否有效(以便能够返回null 或其他内容),必须调用Iterator::check() .因此,在我看来,大多数人会从 Iterator::next() 中调用 Iterator::check() 似乎很自然,这样如果当前迭代器位置无效,它就可以将 'Iterator::key()' 的返回值设置为 null。
但这会导致Iterator::check() 在运行foreach 循环时被调用两次。我怎样才能摆脱这种冗余?
【问题讨论】:
标签: php iterator duplication