[{"id":"6","name":"\u4fdd\u65f6\u6377"},{"id":"6","name":"\u4fdd\u65f6\u6377"},{"id":"1","name":"\u5965\u8fea"},{"id":"2","name":"\u5927\u4f17"},{"id":"5","name":"\u6377\u8fbe"},{"id":"1","name":"\u5965\u8fea"},{"id":"2","name":"\u5927\u4f17"}] PHP去重复项
时间: 2023-06-29 15:15:21 浏览: 310
10N65高压MOS管RS10N65F TO-220F
可以使用 PHP 中的 array_unique 函数来去除一个数组中的重复项。由于这个数组中的元素是关联数组,因此需要使用一个额外的函数来处理。示例代码如下:
```php
$arr = json_decode('[{"id":"6","name":"\u4fdd\u65f6\u6377"},{"id":"6","name":"\u4fdd\u65f6\u6377"},{"id":"1","name":"\u5965\u8fea"},{"id":"2","name":"\u5927\u4f17"},{"id":"5","name":"\u6377\u8fbe"},{"id":"1","name":"\u5965\u8fea"},{"id":"2","name":"\u5927\u4f17"}]', true);
// 使用 array_map 和 json_encode 来将关联数组转换成字符串
$arr = array_map("json_encode", $arr);
// 使用 array_unique 去重
$arr = array_unique($arr);
// 使用 array_map 和 json_decode 来将字符串转换成关联数组
$arr = array_map("json_decode", $arr, array_fill(0, count($arr), true));
print_r($arr);
```
输出结果为:
```
Array
(
[0] => Array
(
[id] => 6
[name] => 保时捷
)
[2] => Array
(
[id] => 1
[name] => 奥迪
)
[3] => Array
(
[id] => 2
[name] => 大众
)
[4] => Array
(
[id] => 5
[name] => 捷达
)
)
```
可以看到,重复的元素被去掉了,只剩下了 4 个不同的元素。注意,原数组中的键名被保留了。如果需要重新索引数组,可以使用 array_values 函数。
阅读全文