【发布时间】:2021-02-27 00:59:00
【问题描述】:
我有以下代码,但我不确定如何循环和偏移记录以使用相同的函数循环获取接下来的 20 条记录。
第一次调用时,gameid 为零,第二次调用时,gameid 为 21。
$result = new ArrayObject();
$count = 0;
foreach($response as &$game) {
$game = get_object_vars($game);
if ($game['gameType'] == $gametype )
{
$result->append(array($game['gameName'], $game['gameType']));
if ($count == $gameid+19) break;
$count ++ ;
}
}
谢谢
【问题讨论】:
-
这将取决于您计划在循环完成后对
$response做什么。您正在填充$result,这对我来说表明您的$response最好保持原样,但您正在转换它的每个元素。为什么?如果你只需要分页,那么你可以使用foreach(array_slice($response, $offset, $limit) as $game) {之类的东西。 -
谢谢@RoAchterberg,但我不能使用它,因为我想按游戏类型 $game['gameType'] == $gametype
-
那么为什么不先在这种情况下过滤
$response,以便您只对特定游戏类型元素的数组进行分页呢?
标签: php arrays json pagination