很抱歉,标题含糊,我很难用一个句子来概括这个问题(我愿意接受建议或编辑)。
我有一个二维关联数组,每个键由2个数字组成。
喜欢这个:
Array
(
[one] => Array
(
[0] => 1
[1] => 2
)
[two] => Array
(
[0] => 1
[1] => 2
)
[three] => Array
(
[0] => 1
[1] => 2
)
)
我想知道是否有一种方法可以使用array_map()或array_filter()返回一个数组,该数组具有每个键和每个值数组中的第一个数字,如下所示:
Array
(
[one] => 1
[two] => 1
[three] => 1
)
我不希望通过使用循环或类似方法创建新的数组,如果您知道我的意思,我想即时将转换作为函数的参数。
我可以编写自己的函数来实现此目的,但我想知道是否可以使用array_map()或array_filter()来完成。
我尝试使用array_merge(),array_keys()和array_values()的各种组合都没有成功。
我先感谢您提供的任何帮助。
第一个solution是:
$keys = array_keys($ar); // get all keys
$vals = array_column($ar,0); // get all values with 0 index
$res = array_combine($keys,$vals); // combine them