php array 分组
时间: 2023-08-05 08:15:10 浏览: 25
在 PHP 中,可以使用 `array_chunk` 函数将一个数组分成多个等大小的小组。例如,以下代码将一个包含 10 个元素的数组分成大小为 3 的小组:
```php
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$groups = array_chunk($array, 3);
print_r($groups);
```
输出:
```
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[2] => Array
(
[0] => 7
[1] => 8
[2] => 9
)
[3] => Array
(
[0] => 10
)
)
```
注意,如果原始数组的大小不是分组大小的整数倍,最后一个小组将包含剩余的元素。
相关问题
php 二维数组分组,php 二维数组的分组排序实现代码
以下是 PHP 二维数组分组的实现代码:
```php
function groupBy($arr, $key) {
$result = array();
foreach($arr as $val) {
if(isset($val[$key])) {
$result[$val[$key]][] = $val;
} else {
$result[""][] = $val;
}
}
return $result;
}
```
该函数将一个二维数组按照指定的键进行分组,并返回分组后的数组。
以下是 PHP 二维数组分组排序的实现代码:
```php
function groupBySort($arr, $key) {
$result = array();
foreach($arr as $val) {
if(isset($val[$key])) {
$result[$val[$key]][] = $val;
} else {
$result[""][] = $val;
}
}
ksort($result);
return $result;
}
```
该函数将一个二维数组按照指定的键进行分组,并按键的字母顺序对分组后的数组进行排序。
php+根据相同值分组,PHP – 如何在数组中找到重复的值分组
要在 PHP 中根据相同值分组,可以使用 `array_reduce` 函数。以下是一个示例代码,它会将给定数组中相同的值分组:
```php
<?php
$array = array(1, 2, 2, 3, 3, 3, 4, 5, 5);
$grouped = array_reduce($array, function ($result, $item) {
if (!array_key_exists($item, $result)) {
$result[$item] = array();
}
$result[$item][] = $item;
return $result;
}, array());
print_r($grouped);
?>
```
输出结果将会是这样的:
```
Array
(
[1] => Array
(
[0] => 1
)
[2] => Array
(
[0] => 2
[1] => 2
)
[3] => Array
(
[0] => 3
[1] => 3
[2] => 3
)
[4] => Array
(
[0] => 4
)
[5] => Array
(
[0] => 5
[1] => 5
)
)
```
这个示例代码会将数组中相同的值分组,每个分组都是一个数组,其中包含相同的值。你可以根据自己的需求修改这个代码。