李涛自留地
回到顶部
首页 > php学习 > PHP array_rand()、array_sum()、array_product() 常用聚合函数

PHP array_rand()、array_sum()、array_product() 常用聚合函数

抽奖、随机推荐、统计求和——这些需求太常见了,PHP 的数组聚合函数刚好派上用场。这篇文章整理几个最实用的聚合函数。

## array_rand() 随机选取

array_rand(array, n) - 从数组中随机选出 n 个键名。注意:返回的是键名,不是值。

` 'iPhone', '二等奖' => 'AirPods', '三等奖' => '优惠券'];
$keys = array_rand($prizes, 1);
echo $prizes[$keys]; // 随机奖品
?>
`

### 多个随机键名

```php

```

## array_sum() 求和

array_sum(array) - 数组所有值求和。注意:只处理数值类型的值。

`
`

## array_product() 求积

array_product(array) - 数组所有值相乘。空数组返回 1。

```php

```

## 统计函数合集

函数功能空数组
---
array_sum()求和返回 0
array_product()求积返回 1
count()计数返回 0
min()/max()最大/最小值Warning
array_average()平均值需自定义

## 自定义平均值函数

```php

```

## 踩坑提醒

- array_rand() 返回键名不是值,需要用原数组取值

- array_sum() 只处理数值,字符串值会被忽略或转换

- min()/max() 空数组会触发 Warning,先判断是否为空

- array_product() 大数相乘可能溢出

- array_rand() 返回随机键名,常用于抽奖和随机推荐

- array_sum() 求和,空数组返回0

- array_product() 求积,常用于阶乘等计算

- 自定义平均值函数要处理空数组情况

---

### 相关文章

以下是本系列相关文章:

- [array_keys 提取键名](https://www.leetao.cc/php/php-array_keys/)
- [array_slice 切片](https://www.leetao.cc/php/php-array-slice-splice/)

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。