如何按split数组指定次数遍历courses数组后输出<br>标签?
PHP按指定分段规则遍历数组并插入换行标签
实现思路
核心是循环复用$split数组的分段规则,同时跟踪当前分段的计数和当前使用的分段索引:
- 初始化分段索引、当前分段计数两个变量
- 遍历目标数组的每个元素,输出后累加当前分段计数
- 当计数达到当前分段规则的数值时,输出
<br>,重置计数并切换到下一个分段规则(超出$split长度则回到第一个,实现循环复用)
代码实现
<?php $split = [4, 2, 4]; $courses = ['HTML', 'JS', 'CSS', 'VueJS', 'ReactJs', 'PHP', 'Ruby', 'Python', 'Java', 'C#']; $splitIndex = 0; $currentCount = 0; $splitLength = count($split); foreach ($courses as $course) { echo $course . ' '; // 可根据需求调整元素间的分隔符 $currentCount++; // 检查是否达到当前分段要求 if ($currentCount === $split[$splitIndex]) { echo '<br>'; $currentCount = 0; // 循环切换分段规则,兼容任意长度的$split数组 $splitIndex = ($splitIndex + 1) % $splitLength; } } ?>
代码说明
$splitIndex:通过取模运算($splitIndex + 1) % $splitLength实现分段规则的循环复用,不管$split包含多少元素,都能自动循环应用规则$currentCount:记录当前分段下已输出的元素数量,达到规则数值后重置为0,开始下一段计数- 逻辑简洁高效,时间复杂度为O(n),n为
$courses数组的元素数量
输出示例
运行代码后会得到如下输出(格式化后):
HTML JS CSS VueJS <br> ReactJs PHP <br> Ruby Python Java C# <br>
内容的提问来源于stack exchange,提问作者Amine Bouhaddi
相关产品推荐
相关产品推荐

