(删除重复)重新索引多维数组PHP jquery
(remove duplicated) reindex multidimensional array php jquery
[{
"sys_id": "2015-07-018",
"account_id": "2015-07-018",
"Names": [{
"fname": "Jackie",
"mname": "Lee",
"lname": "Chan",
"suffix": "Jr",
"city": "Tokyo",
"town": "Shinagawa-ku",
"dstrct": "District 2",
"street": "Jr",
"contactnum": "1234"
}, {
"fname": "Jackie",
"mname": "Lee",
"lname": "Chan",
"suffix": "Jr",
"city": "Tokyo",
"town": "Shinagawa-ku",
"dstrct": "District 2",
"street": "Jr",
"contactnum": "1234"
}, {
"fname": "Jackie",
"mname": "Lee",
"lname": "Chan",
"suffix": "Jr",
"city": "Tokyo",
"town": "Shinagawa-ku",
"dstrct": "District 2",
"street": "Jr",
"contactnum": "1234"
}, {
"fname": "Jackie",
"mname": "Lee",
"lname": "Chan",
"suffix": "Sr",
"city": "Tokyo",
"town": "Shinagawa-ku",
"dstrct": "District 2",
"street": "Sr",
"contactnum": "1234"
}, {
"fname": "Jackie",
"mname": "Lee",
"lname": "Chan",
"suffix": "Sr",
"city": "Tokyo",
"town": "Shinagawa-ku",
"dstrct": "District 2",
"street": "Sr",
"contactnum": "1234"
}, {
"fname": "Jackie",
"mname": "Lee",
"lname": "Chan",
"suffix": "Sr",
"city": "Tokyo",
"town": "Shinagawa-ku",
"dstrct": "District 2",
"street": "Sr",
"contactnum": "1234"
}]
}]
这是我从ajax请求的结果,我想从服务器端或jquery端在我的服务器端删除重复的结果,我已经尝试了删除重复数组的最常见的方式,如
$input = array_map("unserialize", array_unique(array_map("serialize", $new_data)));
$new_data1 = array_values($input);
echo json_encode($new_data1, JSON_UNESCAPED_UNICODE);
其中$new_data
是我的选择查询的结果。print_r($new_data)
将导致
Array(
[2015 - 07 - 018] => Array(
[sys_id] => 2015 - 07 - 018[account_id] => 2015 - 07 - 018[Names] => Array(
[0] => Array(
[fname] => Jackie[mname] => Lee[lname] => Chan[suffix] => Jr[city] => Tokyo[town] => Shinagawa - ku[dstrct] => District 2[street] => Jr[contactnum] => 1234)[1] => Array(
[fname] => Jackie[mname] => Lee[lname] => Chan[suffix] => Jr[city] => Tokyo[town] => Shinagawa - ku[dstrct] => District 2[street] => Jr[contactnum] => 1234)[2] => Array(
[fname] => Jackie[mname] => Lee[lname] => Chan[suffix] => Jr[city] => Tokyo[town] => Shinagawa - ku[dstrct] => District 2[street] => Jr[contactnum] => 1234)[3] => Array(
[fname] => Jackie[mname] => Lee[lname] => Chan[suffix] => Sr[city] => Tokyo[town] => Shinagawa - ku[dstrct] => District 2[street] => Sr[contactnum] => 1234)[4] => Array(
[fname] => Jackie[mname] => Lee[lname] => Chan[suffix] => Sr[city] => Tokyo[town] => Shinagawa - ku[dstrct] => District 2[street] => Sr[contactnum] => 1234)[5] => Array(
[fname] => Jackie[mname] => Lee[lname] => Chan[suffix] => Sr[city] => Tokyo[town] => Shinagawa - ku[dstrct] => District 2[street] => Sr[contactnum] => 1234))))
Update
我尝试了print_r($new_data1);
,结果与print_r($new_data);
的结果完全相同
寻找一种方法来删除重复,我发现这个
function super_unique($array) {
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
foreach($result as $key => $value) {
if (is_array($value)) {
$result[$key] = super_unique($value);
}
}
return $result;
}
Array ( [1] => Array ( [sis_id] => 2015-07-018 [account_id] => 2015-07-018 [Names] => Array ( [0] => Array ( [fname] => Jackie [mname] => Lee [lname] => Chan [suffix] => Jr [city] => Tokyo [town] => Shinagawa-ku [brgy] => District 2 [contactnum] => 1234 ) [3] => Array ( [fname] => Jackie [mname] => Lee [lname] => Chan [suffix] => Sr [city] => Tokyo [town] => Shinagawa-ku [brgy] => District 2 [contactnum] => 1234 ) ) ) )
我想要旧格式的输出
如果您将数组中的每个对象序列化为字符串(在我看来json是最简单的),然后使用本机函数删除重复项,然后反序列化回对象会怎么样?
Sudo代码看起来像这样:
$serialized_array = [];
foreach($new_data as $data) {
$serialized_array[] = json_encode($data);
}
$new_data = []; //reset new_data
$unique = array_unique($serialized_array);
foreach($serialized_array as $string) {
$new_data[] = json_decode($string);
}
//new_data should now only contain unique data
你所做的和这之间的主要区别是序列化和反序列化每个对象单独而不是整个数组。
相关文章:
- 将数组从PHP传递到Javascript
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 如何使用Javascript将空数组发送到PHP服务器
- 调用php数组中的JS函数
- PHP中的数组输出
- 将带有多维数组的表单从Javascript提交到PHP
- 将数组从javascript格式化为php的更好方法,反之亦然
- 将PHP变量分配给PHP数组
- php数组转换为javascript
- 如何用javascript打印php数组
- 将PHP数组传递给js变量
- 如何在php中读取没有任何键的JSON数组
- 从javascript访问属性多端数组PHP
- 替换辅助数组 PHP 中的值
- JavaScript发送变量,但插入数组PHP不能正常工作
- 在数组php中中断数组
- 如何通过javascript数组php laravel4
- 多维json编码关联数组php到JS
- (删除重复)重新索引多维数组PHP jquery
- 我可以't在jQuery中获取数组PHP编码