草庐IT

Iterator

全部标签

PHP 接口(interface) IteratorAggregate vs Iterator?

IteratorAggregate是一个创建外部迭代器的接口(interface):classmyDataimplementsIteratorAggregate{public$property1="Publicpropertyone";public$property2="Publicpropertytwo";public$property3="Publicpropertythree";publicfunction__construct(){$this->property4="lastproperty";}publicfunctiongetIterator(){returnnewArra

PHP 接口(interface) IteratorAggregate vs Iterator?

IteratorAggregate是一个创建外部迭代器的接口(interface):classmyDataimplementsIteratorAggregate{public$property1="Publicpropertyone";public$property2="Publicpropertytwo";public$property3="Publicpropertythree";publicfunction__construct(){$this->property4="lastproperty";}publicfunctiongetIterator(){returnnewArra

php - 如何模拟使用 PHPUnit 实现 Iterator 接口(interface)的类?

我如何模拟实现Iterator的类的依赖项?接口(interface)是否稳健? 最佳答案 网上已经有一些解决这个问题的现有解决方案,但我看到的所有解决方案都有一个类似的弱点:它们依赖于->expects($this->at(n))。PHPUnit中的'expectsat'函数有一些奇怪的行为,因为计数器是针对模拟的每个方法调用的。这意味着,如果您在直接foreach之外对迭代器进行方法调用,则必须调整迭代器模拟。解决方案是创建一个包含基本迭代器数据(源数组和位置)的对象,并将其传递给returnCallback闭包。因为它是通过引

php - 如何模拟使用 PHPUnit 实现 Iterator 接口(interface)的类?

我如何模拟实现Iterator的类的依赖项?接口(interface)是否稳健? 最佳答案 网上已经有一些解决这个问题的现有解决方案,但我看到的所有解决方案都有一个类似的弱点:它们依赖于->expects($this->at(n))。PHPUnit中的'expectsat'函数有一些奇怪的行为,因为计数器是针对模拟的每个方法调用的。这意味着,如果您在直接foreach之外对迭代器进行方法调用,则必须调整迭代器模拟。解决方案是创建一个包含基本迭代器数据(源数组和位置)的对象,并将其传递给returnCallback闭包。因为它是通过引

php - 如何在 PHP 中使用 RegexIterator

我还没有找到一个很好的例子来说明如何使用phpRegexIterator递归遍历目录。最终结果是我想指定一个目录并在其中找到所有具有给定扩展名的文件。例如仅html/php扩展名。此外,我想过滤掉.Trash-0、.Trash-500等类型的文件夹。";}?>是我到目前为止所拥有的,但导致:fatalerror:未捕获异常“UnexpectedValueException”,消息为“RecursiveDirectoryIterator::__construct(/media/hdmovies1/.Trash-0)”有什么建议吗? 最佳答案

php - 如何在 PHP 中使用 RegexIterator

我还没有找到一个很好的例子来说明如何使用phpRegexIterator递归遍历目录。最终结果是我想指定一个目录并在其中找到所有具有给定扩展名的文件。例如仅html/php扩展名。此外,我想过滤掉.Trash-0、.Trash-500等类型的文件夹。";}?>是我到目前为止所拥有的,但导致:fatalerror:未捕获异常“UnexpectedValueException”,消息为“RecursiveDirectoryIterator::__construct(/media/hdmovies1/.Trash-0)”有什么建议吗? 最佳答案

php - 带有数组接口(interface)的集合上的 array_map?

我有一个名为Collection的类,它存储相同类型的对象。Collection实现数组接口(interface):Iterator、ArrayAccess、SeekableIterator和Countable。我想将一个Collection对象作为数组参数传递给array_map功能。但这失败并出现错误PHPWarning:array_map():Argument#2shouldbeanarray我能否通过实现其他/更多接口(interface)来实现此目的,以便将Collection对象视为数组? 最佳答案 array_map(

php - 带有数组接口(interface)的集合上的 array_map?

我有一个名为Collection的类,它存储相同类型的对象。Collection实现数组接口(interface):Iterator、ArrayAccess、SeekableIterator和Countable。我想将一个Collection对象作为数组参数传递给array_map功能。但这失败并出现错误PHPWarning:array_map():Argument#2shouldbeanarray我能否通过实现其他/更多接口(interface)来实现此目的,以便将Collection对象视为数组? 最佳答案 array_map(

php - 生成器和数组有什么区别?

今天PHP团队发布了PHP5.5.0版本,其中包括对生成器的支持。读书thedocumentation,我注意到它的作用与数组完全相同。PHP团队生成器示例://OnlyPHP5.5functiongen_one_to_three(){for($i=1;$i结果:123但我可以使用数组做同样的事情。而且我仍然可以与早期版本的PHP保持兼容。看看://Compatiblewith4.4.9!functiongen_one_to_three(){$results=array();for($i=1;$i那么问题来了:这个新特性存在的目的是什么?我必须在不使用新功能的情况下播放所有文档示例,将

php - 生成器和数组有什么区别?

今天PHP团队发布了PHP5.5.0版本,其中包括对生成器的支持。读书thedocumentation,我注意到它的作用与数组完全相同。PHP团队生成器示例://OnlyPHP5.5functiongen_one_to_three(){for($i=1;$i结果:123但我可以使用数组做同样的事情。而且我仍然可以与早期版本的PHP保持兼容。看看://Compatiblewith4.4.9!functiongen_one_to_three(){$results=array();for($i=1;$i那么问题来了:这个新特性存在的目的是什么?我必须在不使用新功能的情况下播放所有文档示例,将