Php 数组\翻转以逗号分隔格式打印重复值
我正在尝试使用Php 数组\翻转以逗号分隔格式打印重复值,php,arrays,Php,Arrays,我正在尝试使用array\u flip以逗号分隔的格式打印重复的值 $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"blue"); $flip=array_flip($a); print_r($flip); 我的输出是: Array ( [red] => a [green] => b [blue] => d ) Array ( [red] => a [green] => b [blue
array\u flip
以逗号分隔的格式打印重复的值
$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"blue");
$flip=array_flip($a);
print_r($flip);
我的输出是:
Array ( [red] => a [green] => b [blue] => d )
Array ( [red] => a [green] => b [blue] => c,d)
但我的预期产出是:
Array ( [red] => a [green] => b [blue] => d )
Array ( [red] => a [green] => b [blue] => c,d)
如何获得该输出?
array\u flip
将不会提供预期的输出。您可以编写自定义函数,如:
$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"blue");
$flip = array_flip_custom($a);
print_r($flip);
function array_flip_custom($a){
$flip = array();
foreach($a as $index=>$key){
if($flip[$key]){
$flip[$key] .= ','.$index;
} else {
$flip[$key] = $index;
}
}
return $flip;
}
将给出输出:
阵列([红色]=>a[绿色]=>b[蓝色]=>c,d)
您需要将函数与
数组一起翻转
如下
$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);
输出:
Array
(
[red] => a
[green] => b
[blue] => c, d
)
阵列翻转不能那样工作。你必须实现你自己的功能。你好!我编辑了你的文章,使一些格式更清晰。引号格式(由
)通常用于英语的句子或段落,而不是代码。输出和错误代码可以像编程代码一样格式化。我也删除了粗体字,你应该谨慎使用。我用英语句子重写了它。你的帖子看起来像是一个练习的摘要,很难阅读。让其他用户更容易阅读,从而获得更好的答案!不客气。很高兴它帮助了你。