我从未在PHP中使用过生成器。我理解使用它的方法: Foreach一个数组为每个值执行一些任务,比如将特定行放入一个大文件中以删除一些caracteres ..
我需要什么:
我需要从我的dabatase中检索所有乐队。当然,我有'限制''争论不要超过PHP的记忆(那里有30 000个频段......)。 我必须过滤值并将新数组返回到客户端到我的REST API中。
我想知道的事情:
对我来说,创建一个名为' generator'执行下面的代码?
在所有情况下,我必须创建一个新数组以将其返回到我的方法
$bands = Models\Bands::find($bandsParameters);
$json = [];
foreach ($bands as $band) {
$followers = $band->getFollowers();
$followersArr = [];
foreach ($followers as $follower) {
$followerImage = $follower->getImage();
$followerObj = (object)[
'id' => $follower->id,
'username' => $follower->username,
'image' => $followerImage->url,
'online' => $follower->online,
'createdOn' => $follower->createdOn,
'updatedOn' => $follower->updatedOn,
'lastLogin' => $follower->lastLogin,
];
$followersArr[] = $followerObj;
}
$info = $band->getInfo($bandInfoParameters)->getFirst();
$bandObj = (object)[
'id' => $band->id,
'name' => $band->name,
'style' => $band->styles,
'country' => $band->country,
'summary' => isset($info->summary) ? $info->summary : null,
'followers' => $followersArr,
'createdOn' => $band->createdOn,
'updatedOn' => $band->updatedOn,
'authoredBy' => $band->authoredBy,
'updatedBy' => $band->updatedBy,
];
$json[] = $bandObj;
}
return ['key' => 'bands', 'value' => $json];