关于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適用於多種應用,如數據分析和機器學習。
