You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP多维数组循环:首个元素取8条其余取4条的条件设置求助

解决方案

你可以通过跟踪循环的索引来区分第一个元素和后续元素,设置不同的$value值:

  • 在foreach循环中同时获取索引和元素
  • 判断索引是否为0(第一个元素),是则设$value=8,否则设为4

修改后的代码如下:

$items = [];
foreach ($collection as $index => $co) {
    // 第一个元素取8条,其余取4条
    $value = $index === 0 ? 8 : 4;
    $items[] = $this->ProductModel->Products($co->id, $value, 'product_date');
}

如果你的PHP版本较低,不支持三元运算符,也可以用普通的if判断:

$items = [];
foreach ($collection as $index => $co) {
    if ($index === 0) {
        $value = 8;
    } else {
        $value = 4;
    }
    $items[] = $this->ProductModel->Products($co->id, $value, 'product_date');
}

另外也可以用独立的计数器变量实现,效果一致:

$items = [];
$count = 0;
foreach ($collection as $co) {
    $value = $count === 0 ? 8 : 4;
    $items[] = $this->ProductModel->Products($co->id, $value, 'product_date');
    $count++;
}

以上几种方式都能实现需求:首个数组返回8条数据,其余数组返回4条。

内容的提问来源于stack exchange,提问作者Henry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:27:51