Php如何使用2个数组创建自定义数组
我需要一些关于下面阵型的帮助。我想使用2个数组创建一个自定义数组 这是我的第一个阵列:-Php如何使用2个数组创建自定义数组,php,arrays,Php,Arrays,我需要一些关于下面阵型的帮助。我想使用2个数组创建一个自定义数组 这是我的第一个阵列:- Array ( [0] => Array ( [0] => 26 [1] => 0.0000000000000000 ) [1] => Array ( [0] => 25 [1] => 0.00000000000
Array
(
[0] => Array
(
[0] => 26
[1] => 0.0000000000000000
)
[1] => Array
(
[0] => 25
[1] => 0.0000000000000000
)
[2] => Array
(
[0] => 24
[1] => 0.0000000000000000
)
)
这是我的第二个阵列:-
Array
(
[0] => Array
(
[0] => 24
)
[1] => Array
(
[0] => 26
)
)
我希望最终数组如下。有人能建议如何形成这个阵列吗
Array
(
[0] => Array
(
[0] => 26
[1] => 0.0000000000000000
)
[2] => Array
(
[0] => 24
[1] => 0.0000000000000000
)
)
我用过下面的,但我不想用foreach
$finalArray = array();
foreach ($secondArray as $key => $value) {
$key = array_search($value[0], array_column($firstArray, 0));
$finalArray[] = $firstArray[$key];
}
您可以使用:
首先计算允许值可能更有效:
$allowedValues = array_column($secondArray, 0);
$finalArray = array_filter($firstArray, fn($item) => in_array($item[0], $allowedValues));
在PHP 7.4之前,必须使用use()
将变量传递给匿名函数:
$finalArray = array_filter($firstArray,
function($item) use($secondArray) {
return in_array($item[0], array_column($secondArray, 0));
}
);
它回答了你的问题吗?
$finalArray = array_filter($firstArray,
function($item) use($secondArray) {
return in_array($item[0], array_column($secondArray, 0));
}
);