我会提到我的数组波纹管。我需要从数组中删除重复键,但我也需要保留其他元素合并。我知道这不够清楚,所以我会解释。如何从多维数组中删除一些重复的元素
这是我想要的预期结果。
Main Cat Items 1 -> Categories 1 --> Sub Cat Items 1
Categories 1 --> Sub Cat Items 2
Categories 2 --> Sub Cat Items 3
Categories 3 --> Sub Cat Items 4
Main Cat Items 2 -> Categories 4 --> Sub Cat Items 5
但从查询中我得到了一些这样的事情。
Main Cat Items 1 -> Categories 1 --> Sub Cat Items 1
Main Cat Items 1 -> Categories 1 --> Sub Cat Items 2
Main Cat Items 1 -> Categories 2 --> Sub Cat Items 3
Main Cat Items 1 -> Categories 3 --> Sub Cat Items 4
Main Cat Items 2 -> Categories 4 --> Sub Cat Items 5
我的查询无法精炼以获取结果。所以我必须通过php来完成。这是我试过的。
$input = array_map("unserialize", array_unique(array_map("serialize", $test)));
使用这个没有改变我得到了与重复相同的数组。
$serialized = array_map('serialize', $test);
$unique = array_unique($serialized);
$tdsdsdf = array_intersect_key($test, $unique);
这一个也是一样的。
$unique = array();
foreach ($test as $key => $value) {
if (!array_key_exists($value['main_cat_id'], $unique)) {
$unique[$value['main_cat_id']] = $value;
}
}
当试图这样做时,它将删除与所有元素的所有重复项。
这是我刚刚获得数据库查询后的数组。
Array
(
[0] => Array
(
[main_cat_id] => 1
[main_cat_name] => main cat 1
[cat_id] => 1
[cat_name] => cat1 parent 1
[sub_cat_name] => sub 1 cat1 parent 1
)
[1] => Array
(
[main_cat_id] => 1
[main_cat_name] => main cat 1
[cat_id] => 1
[cat_name] => cat1 parent 1
[sub_cat_name] => sub 2 cat1 parent 1
)
[2] => Array
(
[main_cat_id] => 1
[main_cat_name] => main cat 1
[cat_id] => 4
[cat_name] => cat2 parent 1
[sub_cat_name] => sub 3 cat 4 parent 1
)
[3] => Array
(
[main_cat_id] => 1
[main_cat_name] => main cat 1
[cat_id] => 5
[cat_name] => cat3 parent 1
[sub_cat_name] =>
)
[4] => Array
(
[main_cat_id] => 2
[main_cat_name] => main cat 2
[cat_id] => 6
[cat_name] => cat 4 parent 2
[sub_cat_name] =>
)
[5] => Array
(
[main_cat_id] => 2
[main_cat_name] => main cat 2
[cat_id] => 7
[cat_name] => cat 5 parent 2
[sub_cat_name] =>
)
[6] => Array
(
[main_cat_id] => 3
[main_cat_name] => main cat 3
[cat_id] => 8
[cat_name] => cat 6 parent 3
[sub_cat_name] =>
)
)
PHP的array_unique – Sekai 2014-11-04 09:38:14
简单array_unique不起作用。 (无论如何,仍然无法解决) – Yasitha 2014-11-04 09:40:34
仍然无法解决任何帮助? – Yasitha 2014-11-04 09:54:27