PHP遍历products数组时如何对每隔一个元素执行不同PDFlib函数
解决方案
你可以在foreach遍历的时候同步获取数组索引,通过索引的奇偶性做判断即可实现需求。PHP默认的数字索引数组从0开始计数,你需要的「每第二个元素」对应索引为奇数的项,示例代码如下:
// 遍历同时获取数组索引和对应值 foreach($array['products'] as $index => $product) { // 索引对2取模余数为1时,对应第2、4、6...个元素 if($index % 2 == 1) { $tf = $p->add_textflow($tf, $product . " ", $optlistMedium); } else { $tf = $p->add_textflow($tf, $product . " ", $optlistNormal); } }
特殊场景适配
如果你的products数组是自定义键名的关联数组,没有默认数字索引,可以自行新增计数器变量实现判断:
$counter = 0; foreach($array['products'] as $product) { if($counter % 2 == 1) { $tf = $p->add_textflow($tf, $product . " ", $optlistMedium); } else { $tf = $p->add_textflow($tf, $product . " ", $optlistNormal); } $counter++; }
以上代码中的%是取模运算符,用于计算两个数相除的余数。如果你需要调整规则为从第一个元素开始间隔执行(即第1、3、5个元素执行加粗函数),只需要把判断条件改为$index % 2 == 0即可。
内容的提问来源于stack exchange,提问作者strayed soul
相关产品推荐
相关产品推荐

