大家好,我正在尝试从此数组中找到重复的 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
值时,我们都会保存它 - 随后的使用会从数组中取消设置
。
关于php过滤数组值并从多维数组中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001121/