при дебагинге, время исполнения что с генератором, что без, находиться в том же диапозоне. Количество выделяемой памяти одинаковое.
function get($input) {
foreach ($input as $key => $value) {
yield $key => $value;
}
}
foreach (get($files) as $key => $value) {
$extPos = strpos($files[$key], $extension);
$img = substr($files[$key], 0, $extPos);
$files[$key] = $img;
}
foreach (get($data) as $key => $value) {
if(empty($data[$key][$cellIndex])) { continue; }
if(array_search($data[$key][$cellIndex], $files)) {
$this->matched[] = $data[$key];
}
}