问题
$a = [
[
'tagId' => '43',
'streetName' => '锦春路',
'placecode' => '010170'
],
[
'tagId' => '44',
'streetName' => '滨湖路',
'placecode' => '010203'
],
[
'tagId' => '44',
'streetName' => '滨湖路',
'placecode' => '010204'
]
];
打印出结果
array (size=3)
0 =>
array (size=3)
'tagId' => string '43' (length=2)
'streetName' => string '锦春路' (length=9)
'placecode' => string '010170' (length=6)
1 =>
array (size=3)
'tagId' => string '44' (length=2)
'streetName' => string '滨湖路' (length=9)
'placecode' => string '010203' (length=6)
2 =>
array (size=3)
'tagId' => string '44' (length=2)
'streetName' => string '滨湖路' (length=9)
'placecode' => string '010204' (length=6)
$b = [
[
'tagId' => '43',
'streetName' => '锦春路',
'placeCodes' => ['010170']
],
[
'tagId' => '44',
'streetName' => '滨湖路',
'placeCodes' => ['010203','010204']
]
];
打印出结果
array (size=2)
0 =>
array (size=3)
'tagId' => int 43
'streetName' => string '锦春路' (length=9)
'placeCodes' =>
array (size=1)
0 => string '010170' (length=6)
1 =>
array (size=3)
'tagId' => int 44
'streetName' => string '滨湖路' (length=9)
'placeCodes' =>
array (size=2)
0 => string '010203' (length=6)
1 => string '010204' (length=6)
$arr = [
0 => [
'tagId' => '43',
'streetName' => '锦春路',
'placecode' => '010171'
],
1 => [
'tagId' => '44',
'streetName' => '滨湖路',
'placecode' => '010173'
],
2 => [
'tagId' => '43',
'streetName' => '锦春路',
'placecode' => '010172'
],
3 => [
'tagId' => '44',
'streetName' => '滨湖路',
'placecode' => '010174'
],
];
$new_arr = [];
$tmp_key = [];
$i = 0;
foreach ($arr as $key => $value) {
if(in_array($value['tagId'] . $value['streetName'], $tmp_key) == FALSE) {
$tmp_key[$i] = $value['tagId'] . $value['streetName'];
$new_arr[$i] = [
'tagId' => $value['tagId'],
'streetName' => $value['streetName'],
'placecode' => [$value['placecode']]
];
$i++;
}else {
$key = array_search($value['tagId'] . $value['streetName'], $tmp_key);
if(in_array($value['placecode'], $new_arr[$key]['placecode']) == FALSE) {
$new_arr[$key]['placecode'][] = $value['placecode'];
}
}
}
var_dump($arr);
var_dump($new_arr);