PHP-数组映射或过滤

问题描述 投票:0回答:1

很抱歉,标题含糊,我很难用一个句子来概括这个问题(我愿意接受建议或编辑)。

我有一个二维关联数组,每个键由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()的各种组合都没有成功。

我先感谢您提供的任何帮助。

php arrays array-filter array-map
1个回答
0
投票

第一个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
© www.soinside.com 2019 - 2024. All rights reserved.