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
相关产品推荐
相关产品推荐

