编程题
1. $str = '7,1,2,5,8,9,6,3',如何计算这个字符串中数字的和?
$str = '7,1,2,5,8,9,6,3';
$arr = explode(',',$str);
$num = 0;
foreach($arr as $value)
{
$num += intval($value);
}
echo $num;
2. $str = 'qaxwsxedcrfvtgbqwertgfdaszxcvb',统计每个字符出现的次数。
$str = 'qaxwsxedcrfvtgbqwertgfdaszxcvb';
$arr = str_split($str);
$arr = array_count_values($arr);
arsort($arr);
print_r($arr);//键值为字符,数组值为字符出现次数
3. $str = 'A:a,b;B:b,c',拆分为二维数组,为 ['A'=>['a','b'],'B'=>['b','c']]
$str = 'A:a,b;B:b,c';
$arr1 = explode(';',$str);
foreach($arr1 as $v1)
{
$arr_tmp = explode(':',$v1);
$arr_c = explode(',',$arr_tmp[1]);
$arr[$arr_tmp[0]] = $arr_c;
}
print_r($arr);
数据库题
6. 查出每个班级(classid)的及格人数和不及格人数,表为 : classscore(id,classid,userid,score)
Select classid,
SUM(CASE WHEN score>=60 THEN 1 ELSE 0 END),
SUM(CASE WHEN score>=60 THEN 0 ELSE 1 END)
FROM classscore GROUP BY 1