有什么方法可以从PHP中的多数组中仅返回有限的长度吗?我正在尝试使用array_slice,但似乎对我不起作用。
[0] => Array
(
[id] => 5216
[name] => Grow your own Irish Shamrock gifts set
[ordered] => 473
[image] => FunShamrockPot.jpg
)
[1] => Array
(
[id] => 5217
[name] => Irish Shamrock Seeds
[ordered] => 357
[image] => FunShamrockSeed.jpg
)
[2] => Array
(
[id] => 5759
[name] => Ireland Fleece with Shamrock Badge
[ordered] => 1
[image] => IrelandFleeceShamrocks.jpg
)
我尝试了一下,但是没有用:
$jsonData = json_decode(file_get_contents(__DIR__ . '/core_db/database.json'), true);
usort($jsonData, "sortFunction");
$jsonFiltered = array();
if (empty($question)) {
if (is_int(intval($maxCount)) && intval($maxCount) != 0) {
$count = intval($maxCount);
array_slice($jsonData, 0, $count);
} else {
array_slice($jsonData, 0, 20);
}
}
这是Stackoverflow的一个示例。我只想返回0-1数组。有什么办法只能用PHP函数来做到这一点,而不是foreach吗?如果是,请告诉我。如果没有,你能告诉我吗?
我为此使用了这种方法:
$count = intval($maxCount);
$maxDBCount = count($jsonData);
if ($count > $maxDBCount) {
$count = $maxDBCount;
}
for ($i = 0; $i <= $count; $i++) {
$jsonFiltered[] = $jsonData[$i];
if ($i >= $count) {
break;
}
}