我正在寻找一个函数,如果有的话,将值保存或合并到类似的键中,但到目前为止还没有运气。
array_combine只是删除了值:
array_combine(array('a','a','b'), array(1,2,3));
返回:
Array
(
[a] => 2
[b] => 3
)
预期:
Array
(
[a] => 1,2
[b] => 3
)
非常感谢任何提示。
由于
更新:我不知道,并没有更清楚地表达合并的值(1,2),但后来我最好接受Jeroen值的数组,以便更容易地对可能的数组值进行细分。 感谢所有帮助过的人。
答案 0 :(得分:3)
此:
function array_combine_custom($arr1, $arr2) {
$out = array();
$arr1 = array_values($arr1);
$arr2 = array_values($arr2);
foreach($arr1 as $key1 => $value1) {
$out[(string)$value1] [] = $arr2[$key1];
}
return $out;
}
返回:
Array
(
[a] => Array
(
[0] => 1
[1] => 2
)
[b] => Array
(
[0] => 3
)
)
答案 1 :(得分:1)
$out = array();
foreach ($arr1 as $v) {
$out[$v] .= (strlen($out[$v]) ? ',' : '').array_shift($arr2);
}
$out
现在:
Array
(
[a] => 1,2
[b] => 3
)