PHP定义函数来翻转数组键和值而不进行分组

Moj*_*aba 1 php

在任何版本的PHP中是否有任何预定义函数可以执行此操作:

我有这个数组:

$arr = array(
    2 => 'John',
    21 => 'John',
    32 => 'Joe',
    42 => 'John',
    23 => 'Joe',
    62 => 'John',
    25 => 'Joe',
    );
Run Code Online (Sandbox Code Playgroud)

我期待这个结果:

array(
    'John' => array(2, 21, 42, 62),
    'Joe' => array(32, 23, 25),
);
Run Code Online (Sandbox Code Playgroud)

array_flip没有做我想要的.

注意:我可以编写自定义代码来实现这一点并且很容易.我的问题是,如果PHP中有一个函数可以做到吗?

最后更新:我认为答案应该是否定的

jsz*_*ody 6

使用foreach循环可以非常简单地解决这个问题

$flipped = [];
foreach($arr AS $key => $value) {
    $flipped[$value][] = $key;
}
Run Code Online (Sandbox Code Playgroud)

工作示例:https://3v4l.org/aA826

不,这不是一个功能.但这很简单,为什么要让它更复杂?

  • 究竟.这是最好的方法. (3认同)