有人看到这个题目可能要说,返回数组中值的总数用count()啊,我说的肯定不是这种简单的情况,请跟随我继续。你可能会遇到和我下面这个例子相似的情况:学生给老师投票,用老师名字作为键,用给他投票的学生名字作为值,各学生名字间用“,”分隔,每个学生算一票,统计每个老师有几票。
现在逐行说明以上代码:
1、假设已经有这样的数组,键=>值为老师名字=>投票学生名字,此时若用print_r($ballot);打印数组为Array ( [王老师] => 小明,小青,李红 [刘老师] => 王强,李明 [张老师] => 李明,小青,刘丽 )
2、若用count($ballot);返回数组值总数为3
3、用foreach循环数组$ballot,用substr_count()查找值中“,”的个数并加一就是学生名字个数并保持原键映射,此时若用print_r($ballot);打印数组为Array ( [王老师] => 3 [刘老师] => 2 [张老师] => 3 )
4、用foreach循环将对应老师名字的票数以累加形式写入数据库
完成,没看懂或发现错误的给我留言哦,共同进步!