PHP开发:如何将此类for循环转换为foreach循环?
将PHP的for循环转换为foreach循环的方法
原for循环的作用是根据$integerPartOfAverage的值,循环对应次数并向$stars数组中添加固定元素'Yellow'。要转换为foreach循环,核心是先构造一个长度与循环次数一致的数组,再遍历这个数组完成元素添加:
转换后的代码示例
$integerPartOfAverage = 4; // 创建一个长度等于循环次数的数组,元素值不影响后续操作 $loopArray = range(1, $integerPartOfAverage); foreach ($loopArray as $_) { $stars[] = 'Yellow'; }
说明
- 用
range(1, $integerPartOfAverage)生成了一个包含1到4的数组(长度为4,和原for循环的执行次数一致); - foreach遍历这个数组时,我们不需要使用循环变量
$_,只是借助它的循环次数来重复执行添加元素的操作,最终得到的$stars数组和原for循环的结果完全相同。
如果想要更简洁的实现(无需显式foreach循环),也可以直接用array_fill函数生成目标数组:
$integerPartOfAverage = 4; $stars = array_fill(0, $integerPartOfAverage, 'Yellow');
内容的提问来源于stack exchange,提问作者Niko Jojo
相关产品推荐
相关产品推荐

