array_flip以逗号分隔格式打印重复值

001*_*015 3 php arrays

我正在尝试使用array_flip逗号分隔格式打印重复值

$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"blue");
$flip=array_flip($a);
print_r($flip);
Run Code Online (Sandbox Code Playgroud)

我的输出是:

Array ( [red] => a [green] => b [blue] => d )
Run Code Online (Sandbox Code Playgroud)

但我的预期输出是:

Array ( [red] => a [green] => b [blue] => c,d)
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到那个输出?

Nar*_*dia 5

你需要array_flip像下一样使你的功能

$array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"blue");

$res = array_flip($array);

foreach ($res as $k => $v)
    $res[$k] = implode(", ", array_keys($array, $k));
print_r($res);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [red] => a
    [green] => b
    [blue] => c, d
)
Run Code Online (Sandbox Code Playgroud)

演示