Yea*_*eak 2 php multidimensional-array array-unique
大家好,我试图从该数组中查找重复的x值并将其删除,只保留唯一的x值。例如我的数组是
Array
(
[0] => Array
(
[x] => 0.5
[y] => 23
)
[1] => Array
(
[x] => 23
[y] => 21.75
)
[2] => Array
(
[x] => 14.25
[y] => 21.875
)
[3] => Array
(
[x] => 19.375
[y] => 21.75
)
[4] => Array
(
[x] => 9.125
[y] => 21.875
)
[5] => Array
(
[x] => 23
[y] => 19.625
)
[6] => Array
(
[x] => 19.375
[y] => 19.625
)
)
Run Code Online (Sandbox Code Playgroud)
所以我需要做的是遍历整个事物,然后将第一个x值看成.5,然后继续,其他任何将x看成.5的东西都从数组中删除,这样最后我就有一个看起来像这样的数组
Array
(
[0] => Array
(
[x] => 0.5
[y] => 23
)
[1] => Array
(
[x] => 23
[y] => 21.75
)
[2] => Array
(
[x] => 14.25
[y] => 21.875
)
[3] => Array
(
[x] => 19.375
[y] => 21.75
)
[4] => Array
(
[x] => 9.125
[y] => 21.875
)
)
Run Code Online (Sandbox Code Playgroud)
其中所有X值都是唯一的。我在线搜索,发现要使用此功能,但这似乎不起作用:
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
Run Code Online (Sandbox Code Playgroud)
只要遍历并查找唯一的值即可:
$taken = array();
foreach($items as $key => $item) {
if(!in_array($item['x'], $taken)) {
$taken[] = $item['x'];
} else {
unset($items[$key]);
}
}
Run Code Online (Sandbox Code Playgroud)
第一次使用该x值时,我们将其保存-随后的用法unset来自该数组。