当计数器达到 5 时打破 Foreach | PHP
Break a Foreach when counter reaches 5 | PHP
我试图在 $counter 达到 5 时停止 foreach,但我做不到,我已经尝试更改“break;”将我的 try/catch 放在 if 中,但没有成功,我一直得到 103 场比赛(图片),我只想要 5
.........
$leagues= $api->getLeagueEntries("RANKED_SOLO_5x5", "Gold", 'I');
$counter = 0;
foreach ($leagues as $t=> $op) {
if (++$counter < 5) {
}
try {
$account_id = $api->getSummoner($op->summonerId);
$date = time();
$ab = $api->getMatchlistByAccount($account_id->accountId, "420", null, null, $date, NULL, null, null, null);
echo "<pre>" ; var_dump($ab); echo "<pre>" ;
break;
} catch (Exception $e) { }
}
放弃一次尝试可不是个好主意。您可以将 break 放在 else 分支中吗?
foreach (....) {
if (++$counter < 5) {
try {..without break..}
catch {}
} else { break; }
}
尝试array_slice如果你想return只受限
echo "<pre>" ; var_dump(array_slice($ab, 0, 5)); echo "<pre>" ;
$leagues
是一个数组,因此只需逐个元素循环遍历数组并在完成后停止:
$limit = min(5, count($leagues)); // just in case there's fewer than five.
for ($i = 0; $i<limit; $i++) {
$account_id = $api->getSummoner($leagues[$i]->summonerId);
$date = time();
$ab = $api->getMatchlistByAccount($account_id->accountId, "420", null, null, $date, NULL, null, null, null);
echo "<pre>" ; var_dump($ab); echo "<pre>" ;
}
我试图在 $counter 达到 5 时停止 foreach,但我做不到,我已经尝试更改“break;”将我的 try/catch 放在 if 中,但没有成功,我一直得到 103 场比赛(图片),我只想要 5
.........
$leagues= $api->getLeagueEntries("RANKED_SOLO_5x5", "Gold", 'I');
$counter = 0;
foreach ($leagues as $t=> $op) {
if (++$counter < 5) {
}
try {
$account_id = $api->getSummoner($op->summonerId);
$date = time();
$ab = $api->getMatchlistByAccount($account_id->accountId, "420", null, null, $date, NULL, null, null, null);
echo "<pre>" ; var_dump($ab); echo "<pre>" ;
break;
} catch (Exception $e) { }
}
放弃一次尝试可不是个好主意。您可以将 break 放在 else 分支中吗?
foreach (....) {
if (++$counter < 5) {
try {..without break..}
catch {}
} else { break; }
}
尝试array_slice如果你想return只受限
echo "<pre>" ; var_dump(array_slice($ab, 0, 5)); echo "<pre>" ;
$leagues
是一个数组,因此只需逐个元素循环遍历数组并在完成后停止:
$limit = min(5, count($leagues)); // just in case there's fewer than five.
for ($i = 0; $i<limit; $i++) {
$account_id = $api->getSummoner($leagues[$i]->summonerId);
$date = time();
$ab = $api->getMatchlistByAccount($account_id->accountId, "420", null, null, $date, NULL, null, null, null);
echo "<pre>" ; var_dump($ab); echo "<pre>" ;
}