Php 获取具有不同值的数组的更优雅的方法
我有这个阵列:Php 获取具有不同值的数组的更优雅的方法,php,arrays,distinct-values,Php,Arrays,Distinct Values,我有这个阵列: $array[] = [ 'a' => $a, 'b' => $b, ]; 该数组包含10个条目,$a可以在其中多次使用相同的值,我只需要其中一个条目就可以插入db 我无法在抛出时使数组_unique正常工作 array to string conversion 尝试像这样使用时出错 $result = array_unique($array); 现在,我做了一个小小的foreach循环,这样做感觉不对: $z = [];
$array[] = [
'a' => $a,
'b' => $b,
];
该数组包含10个条目,$a可以在其中多次使用相同的值,我只需要其中一个条目就可以插入db
我无法在抛出时使数组_unique正常工作
array to string conversion
尝试像这样使用时出错
$result = array_unique($array);
现在,我做了一个小小的foreach循环,这样做感觉不对:
$z = [];
foreach ($array as $x) {
if (@!in_array($x['a'],$z)) {
$z[] = $x['a'];
}
}
然后我用$z作为插入
有人能告诉我如何区分数组值的正确方向吗?基于二维数组,您需要:
$array = array_map('array_unique', $array);
或者,如果不需要二维数组,只需使用:
$array = [
'a' => $a,
'b' => $b,
];
然后:$array=array\u unique$array 这应该适合您: $result=array\u唯一的$array;这不起作用,因为您有一个多维数组
<?php
//Example data
$array[] = [
'a' => 1,
'b' => 1,
'c' => 1,
'd' => 2,
'e' => 2,
];
$array = array_map("array_unique", $array);
print_r($array);
?>
没有提到的一点是,如果您可以自己管理密钥,那么阵列是在unique中构建的。关联数组只能具有一次键。所以我想做的是使用主键或唯一标识符作为键 不能使用具有相同键的数组
array(
'a' => $a
'a' => $b
)
因为密钥a已经是唯一标识符。如果您遵循。您确定您的意思不是$array,而是$array[]吗?
array(
'a' => $a
'a' => $b
)