PHPジェネレーターで1つの大きな配列を変換するためにあなたの助けを求めています. 以下は、やり直しが必要なコードです。サービス呼び出しから結果セットを取得し、すべてを配列に割り当てています。
foreach ($objects->result as $pointStdObject) {
$pointStdObjects[] = $pointStdObject;
}
このコードは、オフセットが 1000 のレコードを照会する while ループ内にあります。問題は、$pointStdObjects[] が非常に大きくなる傾向があり、PHP のメモリ不足例外が発生することです。
後で、この同じ配列を次のように使用する必要があります。
foreach ($pointStdObjects as $pointStdObject) {
$point = $this->pointFactory->createPointFromStdObject($pointStdObject);
if (!$point) {
continue;
}
$points[] = $point;
}
return $points;
PHPジェネレーターを活用できるか、ここで譲るかどうか提案してください