大家好,需要foreach循环的帮助,我需要创建一个名为a
的数组,其数组为:[10, 3, 45, 98, 4, 7, 56, 23, 3, 1]
。然后使用for-each循环将每一项与10相加,然后将它们放入一个名为b
的新数组中。
下面的检查代码可在同一$ a数组上工作,但如何将它们放入新数组中?
$a = [10, 3, 45, 98, 4, 7, 56, 23, 3, 1];
$b = [];
foreach ($a as &$value) {
$value = 10 + $value;
}
echo $a;
答案 0 :(得分:4)
您需要为新数组中的每个键分配总和。
$a = [10, 3, 45, 98, 4, 7, 56, 23, 3, 1];
$b = [];
foreach ($a as $key => $value) {
$b[$key] = 10 + $value;
}
var_dump($b); // prints $b
如果您将$a
用作关联数组,这也将起作用:
$a = ['a' => 10, 'b' => 3, 'c' => 45];
$b = [];
foreach ($a as $key => $value) {
$b[$key] = 10 + $value;
}
var_dump($b); // prints $b
答案 1 :(得分:2)
通过对输入数组的所有元素执行相同的操作来生成新数组称为mapping,这也可以使用PHP中的高阶函数来完成,除非您特别要求出于某种原因使用foreach
循环。
$b = array_map(function($n) { return $n + 10; }, $a);