【发布时间】:2021-05-02 12:24:19
【问题描述】:
我想用另一个映射映射 PHP 数组值。我的意思是这样的:
<?php
function as_function($array) {
return fn ($x) => $array[$x];
}
$x = array('a', 'b');
$y = array('a' => 3, 'b' => 5, 'c' => 7);
print_r(array_map(as_function($y), $x));
此代码以预期结果结束:
Array
(
[0] => 3
[1] => 5
)
我想知道是否有一些更聪明的方法可以将array_map(as_function 替换为一些 PHP 内置函数?
【问题讨论】:
-
您能澄清一下您要做什么吗?我不确定为什么这是一个意外结果或预期结果是什么。
-
我对这个问题感到困惑,
as_function()这里不需要,你可以直接使用array_map(fn ($x) => $y[$x], $x)。您是在问 PHP 中是否有内置函数来更改键值?如果是这样,没有。 -
我纠正你想要来自
$y的值,其中键在$x中吗? -
@Michel 是的。这是我想要的。我提出了一种方法来做到这一点。但我想知道是否有更好的方法来实现这一点。