详细内容

本篇文章给大家带来的内容是关于php统计多维数组元素个数的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一般情况下,使用count可以直接统计数组的元素个数$arr = [

'a',

'b',

];

echo count($arr);//2

但是遇到二位数组的时候,我们想统计第二层的元素个数,这个时候可以使用count函数的第二个参数,

count($arr, $mode = 0);$mode(0:统计一维的所有元素,1:循环统计遍历元素)

在$mode=1的时候,count函数会循环统计元素的个数,如果元素$a是个数组则数量会总数会增加$a元素数加1;$arr = [

'a' => 'b',

'c' => [

'd',

],

];

echo count($arr, 1);//3('b',['d'],'d')

只要二维数组有规律,则可以很方便的统计二维的元素个数$arr = [

'a' => [

'd',

'e',

],

'c' => [

'd',

'g',

],

];

echo count($arr, 1) - count($arr);//4

使用array_map也可以$arrCount = 0;

$countFun = function($a) use(&$arrCount) {

$arrCount += count($a);

return $arrCount;

};

array_map($countFun,$arr);

echo $arrCount;

记住$arrCount一定要引用传值

如果要统计三维数组的元素个数$arr = [

'a' => [

'b' => [

'd',

'e',

'g',

],

],

'c' => [

'd' => [

'd',

'g',

],

],

];

$arrCount = 0;

$countFun = function($a) use(&$arrCount) {$arrCount += count($a, 1) - count($a);

return $arrCount;

};

array_map($countFun,$arr);

echo $arrCount;

如果要统计四维数组的元素个数$arr = [

'a' => [

'b' => [

'd' => [

'e',

'g',

],

],

],

'c' => [

'd' => [

'd' => [

'e',

'g',

'f'

],

],

],

];

$arrCount = 0;

$napFun = function($a) use(&$arrCount) {$countFun = function($a) use(&$arrCount) {

$arrCount += count($a, 1) - count($a);

return $arrCount;

};

array_map($countFun,$a);

return $arrCount;

};

array_map($napFun,$arr);

echo $arrCount;

如果是统计3维或更高维度的建议使用递归的方法$arr = [

'a' => [

'b' => [

'd' => [

'e',

'g',

],

],

],

'c' => [

'd' => [

'd' => [

'e',

'g',

'f'

],

],

],

];function arrCount($arr, &$arrCount, $level){

if(0 === $level){

$arrCount += count($arr);

print_r($arr);

}else{

$level--;

foreach($arr as $a){

arrCount($a, $arrCount, $level);

}

}

}

$count = 0;

$level = 3;

arrCount($arr,$count,$level);

echo $count;

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注少侠科技的JavaScript视频教程栏目!

统计多维数组php_php统计多维数组元素个数的方法介绍(附代码)相关推荐

  1. python提取数组元素_python简单获取数组元素个数的方法

    python简单获取数组元素个数的方法 更新时间:2015年07月13日 17:54:46 作者:pythoner 这篇文章主要介绍了python简单获取数组元素个数的方法,实例分析了Python中l ...

  2. mysql统计数据的代码_MySQL按时间统计数据的方法介绍(代码示例)

    本篇文章给大家带来的内容是关于MySQL按时间统计数据的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在做数据库的统计时,经常会需要根据年.月.日来统计数据,然 ...

  3. es6删除数组某项_es6删除数组元素或者对象元素的方法介绍(代码)

    本篇文章给大家带来的内容是关于es6删除数组元素或者对象元素的方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一,删除数组元素let arr = [ {name:'黎 ...

  4. JavaScript(JS) 清空删除数组元素的多种方法及示例代码

    简介: 本文主要介绍JavaScript(JS)中,清空删除数组中的所有元素的多种方法,以及相关的示例代码. 1.使用[]得到一个新数组进行清空 例如, var arr1 = ['a','b','c' ...

  5. python计算数组元素个数_python简单获取数组元素个数的方法

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. java继承数组实例_【Java】理解封装、继承、多态和对象数组的综合实例(简易的租车系统,附代码)...

    一.Drive.java(汽车类 - 父类) package Z_CarManger; import java.io.ObjectInputStream.GetField; public abstra ...

  7. 细说PHP笔记03(第7章)--数组与数据结构,数组定义,数组遍历,数组内部指针遍历,键值操作函数,统计数组函数,回调函数处理数组元素,数组排序,拆分、合并、分解、结合数组,数组实现堆栈,随机选取元素

    1.数组 索引数组:索引值是整数 关联数组:索引值是字符串 2.数组的定义 1.以直接赋值的方式声明 $数组名[下标]=资料内容 或 $数组名[关联字符串(键值)]=资料内容 <?php $va ...

  8. php数组的元素个数,php怎么统计数组元素的个数

    这篇文章主要介绍了php统计数组元素个数的方法的相关资料,需要的朋友可以参考下 count():对数组中的元素个数进行统计; sizeof():和count()具有同样的用途,这两个函数都可以返回数组 ...

  9. 统计数组中重复元素个数

    /*** 循环统计数组或集合中的重复元素个数* @param args*/public static void main(String[] args) {Map<String, Integer& ...

最新文章

  1. 18.图像用户界面入门:EasyGui
  2. maven nexus 私服的搭建学习
  3. GC之G1垃圾收集器
  4. 微博预计要火一阵的SleepSort之Shell及C实现
  5. react循环的值为什么要有key_糊盒粘箱为什么要检查表面覆膜电晕值
  6. nginx基于端口的虚拟主机配置实战
  7. 控制理论与控制工程算计算机相关专业吗,控制理论与控制工程专业介绍
  8. 涉密计算机检查专业软件,RG涉密信息自检查工具
  9. HTML5系列代码:用户注册页面
  10. Java实时获取基金收益项目源码分享
  11. (一)、apache doris 介绍
  12. [ecshop 二次开发经验] ecshop 手机版本 购车流程 最后没有支付按钮 ,清理没有用的支付方式 68ecshop
  13. 雷军为什么要挖常程?
  14. python背景图颜色_更改特定子图背景颜色(饼图外部)
  15. 常见游戏运行错误代码,解决教程!
  16. FPGA之旅设计99例之第二十一例----VGA串口SDRAM显示图片
  17. 6个大厂Offer,牛逼!
  18. 面向应用CMDB,来自优维科技与国信证券的实践
  19. 教你用晨曦记账本记账,设置多功能打印账目
  20. python股票行情查询

热门文章

  1. UBUNTU创建桌面快捷图标_pycharm, jupyter notebook为例
  2. 深信服2019春招技术岗部分编程题
  3. 《算法竞赛进阶指南》防线
  4. 关于魏则西事件——听听来自百度的声音
  5. SecureCRT 连接数据库
  6. 数据库面试常见问题总结
  7. 非奇异快速终端滑膜控制(NFTSM)
  8. 顺序查找的概念及实现代码详解
  9. 和氟西汀类似的备注_备注氟西汀什么梗 备注氟西汀的含义出处
  10. 使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析