首页 > 解决方案 > 如何根据整数值将数组拆分为两个数组

问题描述

这是我要拆分的示例数组:

(1428,217,1428)

我如何将它分成 2 个这样的数组?

(1428,1428)
(217)

我尝试了以下方式,但它只返回 1428 数组。

$counts = array_count_values($array);
$filtered = array_filter($array, function ($value) use ($counts) {
    return $counts[$value] > 1;

});

标签: phparrays

解决方案


为您的示例数据解决此问题的一种方法是对数组进行排序并使用array_shift获取数组的第一个元素并将其存储在数组中。

$a = [1428,217,1428];
sort($a);
$b = [array_shift($a)];

print_r($a);
print_r($b);

结果

Array
(
    [0] => 1428
    [1] => 1428
)
Array
(
    [0] => 217
)

推荐阅读