在任何版本的PHP中都有任何可以执行此操作的预定义函数:
我有这个数组:
$arr = array(
2 => 'John',
21 => 'John',
32 => 'Joe',
42 => 'John',
23 => 'Joe',
62 => 'John',
25 => 'Joe',
);
我期待这个结果:
array(
'John' => array(2, 21, 42, 62),
'Joe' => array(32, 23, 25),
);
array_flip 没有做我想做的事。
注意:我可以编写自定义代码来做到这一点,这很简单。我的问题是,如果PHP中有一个函数可以做到吗?
上次更新:我认为答案应为否
答案 0 :(得分:6)
使用foreach循环很简单地解决了这个问题
$flipped = [];
foreach($arr AS $key => $value) {
$flipped[$value][] = $key;
}
不,这不是一个功能。但这很简单,为什么要让它更复杂?
答案 1 :(得分:4)
您可以使用<h1>Foobar is the title here</h1>
执行此操作:
array_reduce