关于PHP的2个数组之间统计数量
求救各位大神帮帮!
现在要做的就是,有一个调查问卷,然后要统计别人答题的情况,例如ABC分别多少人选择这样
第一个图是别人提交上来我数据库里面的内容,反序列化后,存在一个数组里面
第二个图是题目和选项
我不知道把数据这样分配在2个数组合不合适?
做统计的话,程序应该怎么写比较合适!
想了好几天。。。
回复讨论(解决方案)
这个在数据库里通过分组查询就可以了
没必要拿出来用 php 做
如果一定想要用 php 数组做,那么请贴出用 var_export 输出的测试数据
数据库中的表里面的问题的设置表格和别人提交上来的表格分别是这样的,不知道怎么下手,还有姓名,留言,电话等这些字段都是不统计的,,,想了好几天总是找不到连接点,,,
array (size=4)
0 =>
array (size=8)
0 =>
array (size=2)
'name' => string '姓名' (length=6)
'value' => string '123' (length=3)
1 =>
array (size=2)
'name' => string '留言内容' (length=12)
'value' => string '123' (length=3)
2 =>
array (size=2)
'name' => string '联系电话' (length=12)
'value' => string '9896' (length=4)
3 =>
array (size=2)
'name' => string '性别' (length=6)
'value' => string '女' (length=3)
4 =>
array (size=2)
'name' => string '接下来的时间,您是选择就业、创' (length=45)
'value' => string '就业' (length=6)
5 =>
array (size=2)
'name' => string '您的就业择业方向是?(多选)' (length=42)
'value' => string '
旅游交通民航业,
餐饮行业,
其他
' (length=49)
6 =>
array (size=2)
'name' => string '您对刚就业工资要求是?' (length=33)
'value' => string '2000-2500' (length=9)
7 =>
array (size=2)
'name' => string '您所学的专业是?(多选)' (length=36)
'value' => string '经管类,建工类,化工、医药类' (length=38)
1 =>
array (size=5)
0 =>
array (size=2)
'name' => string '昵称' (length=6)
'value' => string '哈哈哈' (length=9)
1 =>
array (size=2)
'name' => string '留言内容' (length=12)
'value' => string '嘿嘿' (length=6)
2 =>
array (size=2)
'name' => string '联系电话' (length=12)
'value' => string '111111111121' (length=12)
3 =>
array (size=2)
'name' => string '性别' (length=6)
'value' => string '男' (length=3)
4 =>
array (size=2)
'name' => string '你喜欢常去哪个网站你喜欢常去哪' (length=45)
'value' => string '淘宝淘宝淘宝淘宝淘宝淘宝淘宝淘宝
' (length=53)
2 =>
array (size=4)
0 =>
array (size=2)
'name' => string '昵称' (length=6)
'value' => string '人为财死鸟为食亡' (length=24)
1 =>
array (size=2)
'name' => string '留言内容' (length=12)
'value' => string '什么意思啊' (length=15)
2 =>
array (size=2)
'name' => string '联系电话' (length=12)
'value' => string '13088888888' (length=11)
3 =>
array (size=2)
'name' => string '性别' (length=6)
'value' => string '男' (length=3)
3 =>
array (size=4)
0 =>
array (size=2)
'name' => string '昵称' (length=6)
'value' => string '什么' (length=6)
1 =>
array (size=2)
'name' => string '留言内容' (length=12)
'value' => string '哈哈哈哈哈哈' (length=18)
2 =>
array (size=2)
'name' => string '联系电话' (length=12)
'value' => string '12345597744' (length=11)
3 =>
array (size=2)
'name' => string '性别' (length=6)
'value' => string '女' (length=3)
-------------------------------------
array (size=5)
'性别' =>
array (size=2)
0 => string '男' (length=3)
1 => string '女' (length=3)
'接下来的时间,您是选择就业、创业?' =>
array (size=3)
0 => string '就业' (length=6)
1 => string '创业' (length=6)
2 => string '升学读书' (length=12)
'您的就业择业方向是?(多选)' =>
array (size=9)
0 => string 'IT与通讯业' (length=14)
1 => string '金融、证券、保险业' (length=27)
2 => string '房地产业' (length=12)
3 => string '医药食品业' (length=15)
4 => string '旅游交通民航业' (length=21)
5 => string '政府机关' (length=12)
6 => string '餐饮行业' (length=12)
7 => string '自我创业' (length=12)
8 => string '其他' (length=6)
'您对刚就业工资要求是?' =>
array (size=4)
0 => string '1000-1500' (length=9)
1 => string '1500-2000' (length=9)
2 => string '2000-2500' (length=9)
3 => string '2500以上
' (length=13)
'您所学的专业是?(多选)' =>
array (size=8)
0 => string '经管类' (length=9)
1 => string '机械类' (length=9)
2 => string '建工类' (length=9)
3 => string '艺术类' (length=9)
4 => string '化工、医药类' (length=18)
5 => string '电子商务、信息、软件类' (length=33)
6 => string '文法类' (length=9)
7 => string '教育类' (length=9)
你这是 var_dump 的结果!需要改造后才可用
var_export 输出的是 php 代码格式,直接就可用
array ( 0 => array ( 0 => array ( 'name' => '姓名', 'value' => '123', ), 1 => array ( 'name' => '留言内容', 'value' => '123', ), 2 => array ( 'name' => '联系电话', 'value' => '9896', ), 3 => array ( 'name' => '性别', 'value' => '女', ), 4 => array ( 'name' => '接下来的时间,您是选择就业、创', 'value' => '就业', ), 5 => array ( 'name' => '您的就业择业方向是?(多选)', 'value' => ' 旅游交通民航业, 餐饮行业, 其他 ', ), 6 => array ( 'name' => '您对刚就业工资要求是?', 'value' => '2000-2500', ), 7 => array ( 'name' => '您所学的专业是?(多选)', 'value' => '经管类,建工类,化工、医药类', ), ), 1 => array ( 0 => array ( 'name' => '昵称', 'value' => '哈哈哈', ), 1 => array ( 'name' => '留言内容', 'value' => '嘿嘿', ), 2 => array ( 'name' => '联系电话', 'value' => '111111111121', ), 3 => array ( 'name' => '性别', 'value' => '男', ), 4 => array ( 'name' => '你喜欢常去哪个网站你喜欢常去哪', 'value' => '淘宝淘宝淘宝淘宝淘宝淘宝淘宝淘宝
', ), ), 2 => array ( 0 => array ( 'name' => '昵称', 'value' => '人为财死鸟为食亡', ), 1 => array ( 'name' => '留言内容', 'value' => '什么意思啊', ), 2 => array ( 'name' => '联系电话', 'value' => '13088888888', ), 3 => array ( 'name' => '性别', 'value' => '男', ), ), 3 => array ( 0 => array ( 'name' => '昵称', 'value' => '什么', ), 1 => array ( 'name' => '留言内容', 'value' => '哈哈哈哈哈哈', ), 2 => array ( 'name' => '联系电话', 'value' => '12345597744', ), 3 => array ( 'name' => '性别', 'value' => '女', ), ), )
----------------------------------------------------------
array ( '性别' => array ( 0 => '男', 1 => '女', ), '接下来的时间,您是选择就业、创业?' => array ( 0 => '就业', 1 => '创业', 2 => '升学读书', ), '您的就业择业方向是?(多选)' => array ( 0 => 'IT与通讯业', 1 => '金融、证券、保险业', 2 => '房地产业', 3 => '医药食品业', 4 => '旅游交通民航业', 5 => '政府机关', 6 => '餐饮行业', 7 => '自我创业', 8 => '其他', ), '您对刚就业工资要求是?' => array ( 0 => '1000-1500', 1 => '1500-2000', 2 => '2000-2500', 3 => '2500以上 ', ), '您所学的专业是?(多选)' => array ( 0 => '经管类', 1 => '机械类', 2 => '建工类', 3 => '艺术类', 4 => '化工、医药类', 5 => '电子商务、信息、软件类', 6 => '文法类', 7 => '教育类', ), )
--------
哈哈哈~没注意看,现在这种格式对了吗? 谢谢谢帮忙!!
$d = array ( '性别' => array ( 0 => '男', 1 => '女', ), '接下来的时间,您是选择就业、创业?' => array ( 0 => '就业', 1 => '创业', 2 => '升学读书', ), '您的就业择业方向是?(多选)' => array ( 0 => 'IT与通讯业', 1 => '金融、证券、保险业', 2 => '房地产业', 3 => '医药食品业', 4 => '旅游交通民航业', 5 => '政府机关', 6 => '餐饮行业', 7 => '自我创业', 8 => '其他', ), '您对刚就业工资要求是?' => array ( 0 => '1000-1500', 1 => '1500-2000', 2 => '2000-2500', 3 => '2500以上 ', ), '您所学的专业是?(多选)' => array ( 0 => '经管类', 1 => '机械类', 2 => '建工类', 3 => '艺术类', 4 => '化工、医药类', 5 => '电子商务、信息、软件类', 6 => '文法类', 7 => '教育类', ), );$a = array ( 0 => array ( 0 => array ( 'name' => '姓名', 'value' => '123', ), 1 => array ( 'name' => '留言内容', 'value' => '123', ), 2 => array ( 'name' => '联系电话', 'value' => '9896', ), 3 => array ( 'name' => '性别', 'value' => '女', ), 4 => array ( 'name' => '接下来的时间,您是选择就业、创', 'value' => '就业', ), 5 => array ( 'name' => '您的就业择业方向是?(多选)', 'value' => ' 旅游交通民航业, 餐饮行业, 其他 ', ), 6 => array ( 'name' => '您对刚就业工资要求是?', 'value' => '2000-2500', ), 7 => array ( 'name' => '您所学的专业是?(多选)', 'value' => '经管类,建工类,化工、医药类', ), ), 1 => array ( 0 => array ( 'name' => '昵称', 'value' => '哈哈哈', ), 1 => array ( 'name' => '留言内容', 'value' => '嘿嘿', ), 2 => array ( 'name' => '联系电话', 'value' => '111111111121', ), 3 => array ( 'name' => '性别', 'value' => '男', ), 4 => array ( 'name' => '你喜欢常去哪个网站你喜欢常去哪', 'value' => '淘宝淘宝淘宝淘宝淘宝淘宝淘宝淘宝', ), ), 2 => array ( 0 => array ( 'name' => '昵称', 'value' => '人为财死鸟为食亡', ), 1 => array ( 'name' => '留言内容', 'value' => '什么意思啊', ), 2 => array ( 'name' => '联系电话', 'value' => '13088888888', ), 3 => array ( 'name' => '性别', 'value' => '男', ), ), 3 => array ( 0 => array ( 'name' => '昵称', 'value' => '什么', ), 1 => array ( 'name' => '留言内容', 'value' => '哈哈哈哈哈哈', ), 2 => array ( 'name' => '联系电话', 'value' => '12345597744', ), 3 => array ( 'name' => '性别', 'value' => '女', ), ), );foreach($a as $item) { foreach($item as $v) if(isset($d[$v['name']])) @$res[$v['name']][$v['value']]++;}print_r($res);
Array( [性别] => Array ( [女] => 2 [男] => 2 ) [您的就业择业方向是?(多选)] => Array ( [ 旅游交通民航业, 餐饮行业, 其他 ] => 1 ) [您对刚就业工资要求是?] => Array ( [2000-2500] => 1 ) [您所学的专业是?(多选)] => Array ( [经管类,建工类,化工、医药类] => 1 ))
你好 我能问一下 @$res[$v['name']][$v['value']]++;
这个前面为什么加个@ 吗
$d = array ( '性别' => array ( 0 => '男', 1 => '女', ), '接下来的时间,您是选择就业、创业?' => array ( 0 => '就业', 1 => '创业', 2 => '升学读书', ), '您的就业择业方向是?(多选)' => array ( 0 => 'IT与通讯业', 1 => '金融、证券、保险业', 2 => '房地产业', 3 => '医药食品业', 4 => '旅游交通民航业', 5 => '政府机关', 6 => '餐饮行业', 7 => '自我创业', 8 => '其他', ), '您对刚就业工资要求是?' => array ( 0 => '1000-1500', 1 => '1500-2000', 2 => '2000-2500', 3 => '2500以上 ', ), '您所学的专业是?(多选)' => array ( 0 => '经管类', 1 => '机械类', 2 => '建工类', 3 => '艺术类', 4 => '化工、医药类', 5 => '电子商务、信息、软件类', 6 => '文法类', 7 => '教育类', ), );$a = array ( 0 => array ( 0 => array ( 'name' => '姓名', 'value' => '123', ), 1 => array ( 'name' => '留言内容', 'value' => '123', ), 2 => array ( 'name' => '联系电话', 'value' => '9896', ), 3 => array ( 'name' => '性别', 'value' => '女', ), 4 => array ( 'name' => '接下来的时间,您是选择就业、创', 'value' => '就业', ), 5 => array ( 'name' => '您的就业择业方向是?(多选)', 'value' => ' 旅游交通民航业, 餐饮行业, 其他 ', ), 6 => array ( 'name' => '您对刚就业工资要求是?', 'value' => '2000-2500', ), 7 => array ( 'name' => '您所学的专业是?(多选)', 'value' => '经管类,建工类,化工、医药类', ), ), 1 => array ( 0 => array ( 'name' => '昵称', 'value' => '哈哈哈', ), 1 => array ( 'name' => '留言内容', 'value' => '嘿嘿', ), 2 => array ( 'name' => '联系电话', 'value' => '111111111121', ), 3 => array ( 'name' => '性别', 'value' => '男', ), 4 => array ( 'name' => '你喜欢常去哪个网站你喜欢常去哪', 'value' => '淘宝淘宝淘宝淘宝淘宝淘宝淘宝淘宝', ), ), 2 => array ( 0 => array ( 'name' => '昵称', 'value' => '人为财死鸟为食亡', ), 1 => array ( 'name' => '留言内容', 'value' => '什么意思啊', ), 2 => array ( 'name' => '联系电话', 'value' => '13088888888', ), 3 => array ( 'name' => '性别', 'value' => '男', ), ), 3 => array ( 0 => array ( 'name' => '昵称', 'value' => '什么', ), 1 => array ( 'name' => '留言内容', 'value' => '哈哈哈哈哈哈', ), 2 => array ( 'name' => '联系电话', 'value' => '12345597744', ), 3 => array ( 'name' => '性别', 'value' => '女', ), ), );foreach($a as $item) { foreach($item as $v) if(isset($d[$v['name']])) @$res[$v['name']][$v['value']]++;}print_r($res);
Array( [性别] => Array ( [女] => 2 [男] => 2 ) [您的就业择业方向是?(多选)] => Array ( [ 旅游交通民航业, 餐饮行业, 其他 ] => 1 ) [您对刚就业工资要求是?] => Array ( [2000-2500] => 1 ) [您所学的专业是?(多选)] => Array ( [经管类,建工类,化工、医药类] => 1 ))
还有那个提交的数组,有几个是多选的 ,多选的答案是用逗号分隔开的, 对于那些多选我应该怎么处理比较恰当?
先谢谢你帮我点明了!谢谢!
这就是你的问题了
比如 经管类,建工类,化工、医药类 本来是分属于 您所学的专业是?(多选) 的 经管类、建工类、化工、医药类 子项的,但你把他们联结成了一个串,那就变成一项了。你的再切割成数组,分别统计
foreach($a as $item) { foreach($item as $v) if(isset($d[$v['name']])) { foreach(explode(',', [$v['value']]) as $sub) @$res[$v['name']][$sub]++; }}
foreach($a as $item) { foreach($item as $v) if(isset($d[$v['name']])) { foreach(explode(',', [$v['value']]) as $sub) @$res[$v['name']][$sub]++; }}
@$res[$v['name']][$sub]++;
这个变量前面加@ 主要是目的是什么
屏蔽掉 使用了未赋值的变量 这个错误提示
屏蔽掉 使用了未赋值的变量 这个错误提示
我发现变成这个格式对应的数组之后,是不是没办法在页面用volist标签输出来。。
那你就自己改造了
那你就自己改造了
好 谢谢啦!
那你就自己改造了
你好,我想再请教一下
就是我遍历完了之后,排序都乱了,怎么才能 按进去的顺序,排出来也是按这个顺序呢
你可先预置 $res

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。
