我有一个多维数组,每行包含一个关联数组。如何根据指定的数组键使其唯一?
我已经尝试了一些方法:
$cart = array_map("unserialize", array_unique(array_map("serialize", $cart)));
但是无法生成数据,因为我期望我的数组结构如下:
Array
(
[0] => Array
(
[product_code] => prod3
[qty] => 7
)
[1] => Array
(
[product_code] => prod3
[qty] => 1
)
[2] => Array
(
[product_code] => prod4
[qty] => 7
)
[3] => Array
(
[product_code] => prod4
[qty] => 7
)
)
我希望在使用数组array_unique()
方法后获得此结果。仅剩2条记录:
Array
(
[1] => Array
(
[product_code] => prod3
[qty] => 1
)
[2] => Array
(
[product_code] => prod4
[qty] => 7
)
)
答案 0 :(得分:2)
您可以使用array_column
将数组转换为关联数组。这将覆盖重复的值。使用array_values
将关联数组转换为简单数组。
$arr = //Your array
$result = array_values(array_column( $arr , null, 'product_code' ));
print_r( $result );
这将导致:
Array
(
[0] => Array
(
[product_code] => prod3
[qty] => 1
)
[1] => Array
(
[product_code] => prod4
[qty] => 7
)
)