如何通过for/foreach循环将数组与常量构造为多维数组?
实现方式:用循环构建目标多维数组
嘿,这事儿其实挺容易搞定的,我给你两种基于循环的方案,你可以根据自己的习惯选:
方案一:使用foreach循环(推荐,更简洁直观)
foreach是PHP里遍历数组最常用的方式,代码可读性拉满:
// 假设你的现有数组和常量是这样的 $arr = ['name1', 'name2', 'name3']; $amount = 1; // 初始化空的目标多维数组 $new = []; // 遍历原数组,逐个构建子数组 foreach ($arr as $name) { $new[] = [$name, $amount]; } // 验证结果 print_r($new);
逻辑很直白:先创建空数组$new,然后逐个取出$arr里的名称,把它和$amount拼成子数组,再追加到$new里就完事了。
方案二:使用for循环
如果你更习惯用索引遍历的方式,for循环也能轻松实现:
$arr = ['name1', 'name2', 'name3']; $amount = 1; $new = []; // 获取原数组长度,确定循环边界 $arrLength = count($arr); for ($i = 0; $i < $arrLength; $i++) { $new[] = [$arr[$i], $amount]; } // 验证结果 print_r($new);
这里先通过count()拿到原数组的长度,然后用索引$i从0开始遍历,每次取$arr[$i]对应的名称,和$amount组成子数组加入$new。
两种方式最终都会输出你想要的格式:
Array ( [0] => Array ( [0] => name1 [1] => 1 ) [1] => Array ( [0] => name2 [1] => 1 ) [2] => Array ( [0] => name3 [1] => 1 ) )
内容的提问来源于stack exchange,提问作者AntoBoy
相关产品推荐
相关产品推荐

