从现有数组创建新数组php

4nkexdtk  于 2023-02-03  发布在  PHP
关注(0)|答案(2)|浏览(142)

大家好,需要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;
ymzxtsji

ymzxtsji1#

通过对输入数组的所有元素执行相同的操作来生成一个新数组称为mapping,这也可以使用PHP中的高阶函数来完成,除非出于某种原因特别要求您使用foreach循环。

$b = array_map(function($n) { return $n + 10; }, $a);

或者使用箭头函数(从PHP 7.4开始)

$b = array_map(fn($n) => $n + 10, $a);
fzwojiic

fzwojiic2#

您需要将sum赋给new array中的每个键。

$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

参见https://3v4l.org/bURiM
如果将$a用作关联数组,也可以使用此方法:

$a = ['a' => 10, 'b' => 3, 'c' => 45];
$b = [];

foreach ($a as $key => $value) {
    $b[$key] = 10 + $value;
}

var_dump($b); // prints $b

参见https://3v4l.org/UOBok

相关问题