大家好,我试图从此数组中查找重复的 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
)
)
所以我需要发生的是循环遍历整个过程,将第一个 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
)
)
其中所有 X 值都是唯一的。我在网上搜索并找到了这个功能可以使用,但这似乎不起作用:
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
只需循环遍历并找到唯一值即可:
$taken = array();
foreach($items as $key => $item) {
if(!in_array($item['x'], $taken)) {
$taken[] = $item['x'];
} else {
unset($items[$key]);
}
}
每次第一次x
值被使用,我们保存它 - 后续的用法是unset
从数组中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)