我有一个类似下面的数组
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 2
[4] => 2
[5] => 3
[6] => 3
[7] => 3
[8] => 4
[9] => 4
[10] => 4
)
有没有办法使用这些值获取此数组的子集? 因此,如果需要值1的子集,则必须显示
Array
(
[0] => 1
[1] => 1
[2] => 1
)
如果是2的子集则
Array
(
[3] => 2
[4] => 2
)
等等..我也需要保留索引。
我搜索了很多地方。但是没有得到答案。我希望避免多次循环。答案 0 :(得分:6)
您可以使用array_filter
将数组过滤为仅查找您要查找的元素。将$subset
设置为您要搜索的任何值,它将返回匹配的元素,而不更改键。
$subset = 2;
$results = array_filter($array, function ($item) use ($subset) {
return $item === $subset;
});
print_r($results);
阵 ( [3] => 2 [4] => 2 )
答案 1 :(得分:0)
尝试array_chunk
array_chunk($array,4,true);
第一个参数数组
第二个参数大小
第三个参数保存键