在PHP8中统计数组元素个数-PHP8知识详解

news2025/1/6 19:38:40

在php8中,统计数组元素的个数,有下面几个函数:使用count()函数统计数组元素个数、使用sizeof()函数统计数组元素个数。还讲到了,使用array_count_values()函数来统计数组中每个元素出现的次数。

Image

1、使用count()函数统计数组元素个数

使用count()函数统计数组元素个数,语法格式如下:

$count = count($array[$mode]);

其中,参数array为需要查询的数组,参数mode为可选参数,参数值为COUNT_RECURSIVE或1。本函数将递归的对数组计数,适用于计算多维数组,该参数默认值为0,该函数的返回值为数组元素的个数。

使用count()函数统计数组元素个数,参考代码如下:

<?php
$array = [1, 2, 3, 4, 5];  
$count = count($array);  
echo $count;  
?>

以上代码在PHP8中运行的结果如下:

5

在上面的例子中,我们创建了一个包含5个元素的数组$array,然后使用count()函数统计数组中的元素个数,并将结果存储在变量$count中。最后,我们使用echo语句输出结果。

当然使用count()函数还可以统计多维数组元素个数,参考代码如下:

<?php    
    //创建二维数组
    $stu1 = array("一班"=>array("张明","李丽","王芳"),
                  "二班"=>array("张华","刘天","王菲"),
                  "三班"=>array("常远","孟君","王萌"));   
    //创建三维数组
    $stu2 = array("一年级"=>array("一班"=>array("张三","李四","王五"),"二班"=>array("小华","小明","小红"),"三班"=>array("冰冰","东东","彤彤")),
                 "二年级"=>array("一班"=>array("子涵","欣怡","梓涵"),"二班"=>array("晨曦","紫涵","诗涵"),"三班"=>array("梦琪","嘉怡","子萱")));
                                                          
    
    echo count ($stu1,COUNT_RECURSIVE);  //计算二维数组元素的个数
    echo "<br />";
    echo count ($stu2,COUNT_RECURSIVE);  //计算二维数组元素的个数
?>

以上代码在PHP8的运行结果如下:

12
26

从上面的结果看,班级和年级都视为数组元素了。

2、使用sizeof()函数统计数组元素个数

使用sizeof()函数统计数组元素个数,语法格式如下:

$count = sizeof($array); 

使用sizeof()函数统计数组元素个数,参考代码如下:

<?php
$array = [1, 2, 3, 4, 5];  
$count = sizeof($array);  
echo $count; 
?>

以上代码在PHP8中运行的结果如下:

5

在上面的例子中,我们创建了一个包含5个元素的数组$array,然后使用sizeof()函数统计数组中的元素个数,并将结果存储在变量$count中。最后,我们使用echo语句输出结果。

我们测试了二维数组和三维数组,结果是和count()函数一样的。

<?php    
    //创建二维数组
    $stu1 = array("一班"=>array("张明","李丽","王芳"),
                  "二班"=>array("张华","刘天","王菲"),
                  "三班"=>array("常远","孟君","王萌"));   
	 //创建三维数组
    $stu2 = array("一年级"=>array("一班"=>array("张三","李四","王五"),"二班"=>array("小华","小明","小红"),"三班"=>array("冰冰","东东","彤彤")),
                 "二年级"=>array("一班"=>array("子涵","欣怡","梓涵"),"二班"=>array("晨曦","紫涵","诗涵"),"三班"=>array("梦琪","嘉怡","子萱")));
                                                          
    
    echo sizeof ($stu1,COUNT_RECURSIVE);  //计算二维数组元素的个数
    echo "<br />";
    echo sizeof ($stu2,COUNT_RECURSIVE);  //计算二维数组元素的个数
?>

以上代码在PHP8中结果如下:

12
26

3、使用array_count_values()函数来统计数组中每个元素出现的次数

在PHP 8中,你可以使用array_count_values()函数来统计数组中每个元素出现的次数。这个函数会返回一个关联数组,其中键是数组中的元素,值是该元素在数组中出现的次数。

以下是使用array_count_values()函数统计数组元素个数的示例代码:

<?php
$array = [1, 2, 3, 1, 2, 3, 4];
$counts = array_count_values($array);

echo "元素统计结果:<br>";
foreach ($counts as $element => $count) {
    echo "$element: $count<br>";
}
?>

以上代码在PHP8中的运行的结果如下:

元素统计结果:
1: 2
2: 2
3: 2
4: 1

到此为止,使用count()函数统计数组元素个数、使用sizeof()函数统计数组元素个数。还讲到了,使用array_count_values()函数来统计数组中每个元素出现的次数就讲解完毕了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/982057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

医疗知识图谱 neo4j

开源项目&#xff1a; https://github.com/liuhuanyong/QASystemOnMedicalKG 一.效果 二.需要安装&#xff1a; pip install pyahocorasick pip install py2neo 三.需要修改&#xff1a; 需要改的点&#xff1a; 1.改连接的方式 2.改读文件的方式 MedicalGraph 运行&am…

读懂AUTOSAR,之CAN Driver L-PDU发送和“重入问题”

1. L-PDU发送 L-PDU传输时,Can模块将L-PDU内容ID和数据长度转换为硬件特定格式(如果需要),并触发传输。 [SWS_Can_00059] CAN到内存的数据映射定义为首先发送的CAN数据字节为数组元素0,最后发送的CAN数据字节为数组元素7或63(在CAN FD的情况下)。(SRS_SPAL_12063)[S…

Android图形-Hardware Composer HAL

目录 一、引言 二、概览 三、实现HWC 3.1 为什么是HWC&#xff1f; 3.2 HWC的支持需求 3.3 HWC的实现思路 3.4 HWC的基元 3.5 HIDL接口 3.6 函数指针 3.7 图层和屏幕句柄 3.8 屏幕合成操作 3.9 多个屏幕 3.10 虚拟屏幕合成 3.10.1 模式 3.10.2 输出格式 3.11 同…

房地产微传单制作秘笈

随着科技的快速发展&#xff0c;传统的宣传方式已经无法满足现代人的需求。而电子传单作为一种新型的宣传方式&#xff0c;已经逐渐受到人们的关注和喜爱。特别是对于房地产行业来说&#xff0c;电子传单更是成为了一种节省成本、快速传播的利器。 为了满足各行业的宣传需求&am…

Python接口自动化封装导出excel方法和读写excel数据

一、首先需要思考&#xff0c;我们在页面导出excel&#xff0c;用python导出如何写入文件的 封装前需要确认python导出excel接口返回的是一个什么样的数据类型 如下&#xff1a;我们先看下不对返回结果做处理&#xff0c;直接接收数据类型是一个对象&#xff0c;无法获取返回值…

学单片机有前途吗?

学单片机有前途吗? 个人认为学习任何一门技术都比不学的强&#xff0c;针对学单片机有前途吗?那么比较对象当然就是在整个IT行业做对比。因此我们可以从职业前景、钱景、这几方面综合考量。 学单片机有前途吗?我觉得重要的一点就是是否适合职业生涯发展&#xff0c;总说程序…

STM32F4的USB Slave驱动移植详细步骤及问题解决

文章目录 1、USB库下载2、移植&#xff08;slave&#xff09;2.1、工程准备2.2、USB库准备 2.3、移植1、新建USB相关文件夹2、拷贝3、添加USB相关代码4、添加头文件路径5、修改相关内容1、修改usb_conf.h2、定义全局宏USE_USB_OTG_FS3、修改usbd_storage_msd.c4、修改usbd_usr.…

【蒸汽冷凝器型号和PI控制】具有PID控制的蒸汽冷凝器的动力学模型(MatlabSimulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

离线数仓同步数据3

业务数据_增量表数据同步 1&#xff09;Flume配置概述2&#xff09;Flume配置实操3&#xff09;通道测试4&#xff09;编写Flume启停脚本 1&#xff09;Flume配置概述 Flume需要将Kafka中topic_db主题的数据传输到HDFS&#xff0c;故其需选用KafkaSource以及HDFSSink&#xff…

mysql索引条件下推 、 count(*)、count(1)、IN 、exists等

索引下推 Index Condition Pushdown(ICP)&#xff0c;是一种在存储引擎层使用索引过滤数据的优化方式 如果没有ICP&#xff0c;存储引擎会遍历以定位基表中的行&#xff0c;并将他们返回给mysql服务器&#xff0c;有mysql 服务器评估where 后面的条件是否保留行。启用ICP&…

Debian11安装PostgreSQL+PostGIS+pgRouting ,链接Navicat

船新版本&#xff0c;遵循官网教程 1 准备一个Debian11系统2 从官网安装Postgres2.1 安装Postgres2.2 修改Postgres密码2.3 配置Postgres远程访问 3 安装Postgis、pgRouting4 链接Navicat 1 准备一个Debian11系统 2 从官网安装Postgres 2.1 安装Postgres 1 进入Postgre的官网…

GE IC693CPU374CPU模块

处理能力&#xff1a;IC693CPU374 CPU 模块通常具有高性能的处理器&#xff0c;用于执行复杂的控制逻辑和数据处理任务。 内存容量&#xff1a;它通常具有内置的RAM和Flash存储器&#xff0c;用于存储控制程序、数据和配置信息。 多通信接口&#xff1a;该模块通常具有多个通…

集合的笔记

集合 包装类 泛型类有一个不幸的限制, 不能使用基本类型作为类型参数, 解决办法是使用这个包装类, 每一种基本类型都有对应的包装类 基本类型和它们对应的包装类型之间的转换是自动进行的。在调用 add 方法时&#xff0c;个值为 42 的 Integer 类对象在一种被称为自动装箱的过…

redis(0)-安装实操

1.基本概念 key-value型数据库&#xff0c;秒10万级查询。 2.计算向数据移动 3.安装步骤 3.1总体流程 //源码目录&#xff1a;/home/ftp/redis5 src //安装目录&#xff1a;make install /opt/tang/redis5/bin 只是一些bin文件 //make install 只是把bin 复制到某个路…

数据结构与算法学习(day1)——简化版桶排序

文章目录 前言本章目标简化版桶排序题目一题目二 前言 &#xff08;1&#xff09;我是一个大三的学生&#xff08;准确来说应该是准大三&#xff0c;因为明天才报名哈哈哈&#xff09;。 &#xff08;2&#xff09;最近就想每天闲着没事也刷些C语言习题来锻炼下编程水平&#x…

如何选择靠谱的全景平台?VR全景加盟从哪方面对比?

VR全景行业经过近几年的发展&#xff0c;已经逐渐普及开来&#xff0c;线下各个行业都有实体商家开始引入VR全景去做营销宣传推广了。不少老板也意识到线上线下双渠道的重要性&#xff0c;而VR全景的存在就刚好满足各行各业的需求&#xff0c;从这一点不难看出&#xff0c;VR全…

协议定制 + Json序列化反序列化

文章目录 协议定制 Json序列化反序列化1. 再谈 "协议"1.1 结构化数据1.2 序列化和反序列化 2. 网络版计算器2.1 服务端2.2 协议定制(1) 网络发送和读取的正确理解(2) 协议定制的问题 2.3 客户端2.4 代码 3. Json实现序列化反序列化3.1 简单介绍3.2 使用 协议定制 J…

《低代码指南》——AI低代码维格云技术与部署架构说明

#整体技术架构说明 维格云概念上由两个部分组成:工作台(workbench)和数据表(datasheet)。 工作台(workbench)维护系统集群节点、组织和用户数据,提供文件夹、表格、仪表盘、表单、镜像、审计、权限服务等功能。 数据表(datasheet)为多个协作成员提供实时协作,以便…

变电站自动化监控系统

力安科技变电站自动化监控系统是以箱式变电站为管理对象&#xff0c;加装箱变网关&#xff0c;在完成箱变智能化改造的基础上&#xff0c;依托电易云&#xff0c;构建一体化智慧箱变及运维系统。智能箱式变电站被广泛应用于住宅小区、城市公用变压器、工厂、商场、机场、电站等…

Java语法中一些需要注意的点(仅用于个人学习)

1.当字符串和其他类型相加时&#xff0c;基本都是字符串&#xff0c;这与运算顺序有关。 2.Java中用ctrl d 来结束循环输入。 3.nextLine() 遇到空格不会结束。 4.方法重载 4.1. 方法名必须相同 4.2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不…