如何解决显示上次迭代值的数组
我有这个使用 api 的代码,第一次迭代显示一切正常,但在第二次迭代时显示来自第一次迭代的项目 + 来自第二次迭代的项目,在第三次迭代时同样如此。 我不想要那个,我该如何解决这个问题?
$g=0;
foreach ($matches as $match) {
$inside = $api->getMatch('123');
$pp = $api->getMatchTimeline('123');
foreach ($inside->participants as $partId) {
if ($partId->championId == $match->champion) {
$participant_id[] = $partId->participantId;
$participant_idS = $partId->stats->participantId;
foreach ($pp->frames as $p) {
foreach ($p->events as $t) {
if ($t->type == "ITEM_PURCHASED" and $t->participantId == $participant_idS) {
$item_id = $t->itemId;
$d = $api->getStaticItem($item_id);
if($d->depth == 2 or $d->depth == 3){
$itemsMade[] = $d->id;
}
}
}
}
}
}
$dt = [['match_ids' => $part,"champion" => $soloq->champion,"timestamp" => $match->timestamp,"participantId" => $participant_id[$g++],"itens" => json_encode($itemsMade)]
];
echo ' <pre>';
var_dump($dt);
echo '</pre>';
}
解决方法
您需要在循环开始时将该数组设置为空。否则,您只需按照您在输出中看到的那样继续添加。
foreach ($inside->participants as $partId) {
$itemsMade = [];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。