递归方法/函数中的产量

  • 本文关键字:函数 递归方法 php
  • 更新时间 :
  • 英文 :


是否可以重写此方法以使用yield

该方法遍历多维数组并编辑每个值(去除无效的 UTF8 字符(

public function strip_invalid_utf8($input){
if(is_array($input)){
foreach($input as &$value){
$value = $this->strip_invalid_utf8($value);
}
return $input;
}
else{
return filter_utf8($input);
}
}

我想说

基于这个伟大答案的摘录:

生成器函数的核心是 yield 关键字。在最简单的形式中,yield 语句看起来很像 return 语句,不同之处在于 yield 不是停止函数的执行并返回,而是为遍历生成器的代码提供一个值并暂停生成器函数的执行。

除非你需要在能够输出值的同时继续执行函数,否则我会说你不需要转换为生成器函数。

最新更新