统计

array_sum — 计算数组中所有值的和
语法

number array_sum( array $array)

描述
  • array_sum() 将数组中的所有值的和以整数或浮点数的结果返回
参数
参数 描述
array 输入的数组
返回值
  • 所有值的和以整数或浮点数的结果返回
举例
// 示例1-整数
$a = [1, 2, 3, 4, 5];
$result = array_sum($a);
print_r($result);
// 结果
15
// 示例2-浮点数
$a = [1.25, 2.14, 3.12, 4.87, 5.34];
$result = array_sum($a);
print_r($result); 
// 结果
16.72

array_product — 计算数组中所有值的乘积
语法

number array_product( array $array)

描述
  • array_product() 以整数或浮点数返回一个数组中所有值的乘积
参数
参数 描述
array 这个数组
返回值
  • 以整数或浮点数返回一个数组中所有值的乘积
举例
// 示例1-整数
$a = array(2, 4, 6, 8);
$result = array_product($a);
echo $result; 
// 结果 
384
// 示例2-浮点数
$a = [1.31, 1.25, 1.78];
$result = array_product($a);
echo $result; 
// 结果 
2.91475

count — 计算数组中的单元数目或对象中的属性个数
语法

int count( mixed $var[, int $mode = COUNT_NORMAL] )

描述
  • 统计一个数组里的所有元素,或者一个对象里的东西
  • 对于对象,如果安装了 SPL,可以通过实现 Countable 接口来调用 count()。该接口只有一个方法 Countable::count(),此方法返回 count() 函数的返回值
参数
参数 描述
var 数组或者对象
mode 如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。count() 识别不了无限递归。
返回值
  • 返回 var 中的单元数目。如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0
  • count() 对没有初始化的变量返回 0,但对于空的数组也会返回 0。用 isset() 来测试变量是否已经初始化
举例
// 示例1-正常统计
$a = [1, 2, 3, 4, 5, null];
$result = count($a);
print_r($result); 
// 结果
6
// 示例2-递归的统计
$a = [
    'color' => ['red', 'green', 'blue'],
    'size' => ['大', '中', '小', 'arr' => [1, 2, 3]],
];
$result = count($a, COUNT_RECURSIVE);
print_r($result);
// 结果
12

sizeof — count() 的别名
array_count_values — 统计数组中所有的值出现的次数
语法

array array_count_values( array $input)

描述
  • array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值
  • 对数组里面的每个不是 string 和 integer 类型的元素抛出一个警告错误(E_WARNING)。
参数
参数 描述
input 统计这个数组的值
返回值
  • 返回一个关联数组,用 input 数组中的值作为键名,该值在数组中出现的次数作为值
举例
// 示例
$array = array(1, "hello", 1, "world", "hello");
$result = array_count_values($array);
print_r($result);
// 结果
Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

results matching ""

    No results matching ""