如何使用php将重复值键合并到一个数组中
在上面的多维数组中,如何将带键的重复值合并到一个数组中,如下所示如何使用php将重复值键合并到一个数组中,php,Php,在上面的多维数组中,如何将带键的重复值合并到一个数组中,如下所示 $newVar = Array ( [a] => Array ( [0] => php [1] => sql ) [b] => Array ( [0] => javasc
$newVar = Array
(
[a] => Array
(
[0] => php
[1] => sql
)
[b] => Array
(
[0] => javascript
[1] => c
)
[c] => Array
(
[0] => php
[1] => sql
)
[d] => Array
(
[0] => c++
[1] => java
)
)
我在下面尝试过,但它只删除重复的密钥
$newVar = Array
(
[0] => Array
(
[0] => a
[1] => c
)
[1] => Array
(
[0] => b
)
[2] => Array
(
[0] => d
)
)
$new=array_键(array_映射(“unserialize”),array_惟一(array_映射(“serialize”,$newVar)));
回声“;
印刷(新);
如何在php中合并多维数组中的重复键?您可以通过值的串联创建一个新的键数组
$newVar = [
'a' => ['php','sql'],
'b' => ['javascript','c'],
'c' => ['php','sql'],
'd' => ['c++','java'],
];
$result = [];
array_walk($newVar, function($val, $key) use(&$result){
$result[implode("",$val)][] = $key;
});
中期结果如下所示:
array (
'phpsql' =>
array (
0 => "a",
1 => "c",
),
'javascriptc' =>
array (
0 => "b",
),
'c++java' =>
array (
0 => "d",
),
)
然后可以使用数组_值获得所需的结果()
您可以通过值的串联创建一个新的键数组
$newVar = [
'a' => ['php','sql'],
'b' => ['javascript','c'],
'c' => ['php','sql'],
'd' => ['c++','java'],
];
$result = [];
array_walk($newVar, function($val, $key) use(&$result){
$result[implode("",$val)][] = $key;
});
中期结果如下所示:
array (
'phpsql' =>
array (
0 => "a",
1 => "c",
),
'javascriptc' =>
array (
0 => "b",
),
'c++java' =>
array (
0 => "d",
),
)
然后可以使用数组_值获得所需的结果()