首页 > 后端开发 > 正文

用PHP函数排学生成绩问题 用PHP定义一个函数,返回3个参数中的最大值?

2024-09-20 09:43:08 | 我爱编程网

小编今天整理了一些用PHP函数排学生成绩问题 用PHP定义一个函数,返回3个参数中的最大值?相关内容,希望能够帮到大家。

本文目录一览:

用PHP函数排学生成绩问题 用PHP定义一个函数,返回3个参数中的最大值?

用PHP函数排学生成绩问题

<?php
/*
1.学生成绩0-59不及格,60-70 普通成绩 70-80 良好 80-90 优秀 90-100 优异。现在有三个学生a,b,c,成绩分别是50分 80分 95分,判断这三个学生分别属于哪类。

首先,各类别分数设定不严谨,正确应该为:0-59不及格,60-69普通,70-79良好,80-89优秀,90-100优异
*/

echo "学生a类型为:" . getLevel(50) . '<br />'; // 学生a,方便演示加了一个 <br /> 换行符
echo "学生b类型为:" . getLevel(80) . '<br />'; // 学生b,方便演示加了一个 <br /> 换行符
echo "学生c类型为:" . getLevel(95) . '<br />'; // 学生c,方便演示加了一个 <br /> 换行符

/*
2.班级有一百名学生,分数区间0-100分。随机生成一百位学生的成绩,学生名称S1-----S100,学生成绩0-59不及格,60-70 普通成绩, 70-80 良好, 80-90 优秀, 90-100 优异,然后判断该学生分数所在档次。

同样,各类别分数设定不严谨,正确应该为:0-59不及格,60-69普通,70-79良好,80-89优秀,90-100优异
*/

// 获取随机生成分数数组
$scores = getRandscore(100);
// 循环处理类型
foreach ($scores as $key => $value) {
echo "学生S{$key}分数为:" . $value . ",类型为:" . getLevel($value) . '<br />'; // 方便演示加了一个 <br /> 换行符
}


/* 定义自定义函数 */

/**
 * 随机生成分数
 * 
 * @param int $number 学生人数
 * @return array
 */
function getRandscore($number = 0) {
// 定义数组
$scores = array();
// FOR 循环
for ($i = 1; $i <= $number; $i++) {
$scores[$i] = rand(0, 100);
}
// 输出结果
return $scores;
}

/**
 * 按分数获取等级
 * 
 * @param int $score 分数
 * @return string
 */
function getLevel($score = 0) {
if ($score <= 0) {
$i = 1; // 如果小于或等于0分,直接设定为第一级别,不及格
} elseif ($score >= 100) {
$i = 5; // 如果大于等于100分,直接设定为最高级别,优异
} else {
// 定义等级分数线,格式 array(等级1 => array(当前级别最低分数,当前级别最高分数))
$_score = array('1' => array(0, 59), '2' => array(60, 69), '3' => array(70, 79), '4' => array(80, 89), '5' => array(90, 100));
// 其他分数进行FOR循环判断,$i 值为 1 - 5
for ($i = 1; $i < 6; $i++) {
if ($score >= $_score[$i][0] && $score <= $_score[$i][1]) {
break; //中断循环判断
}
}
}
// 定义等级文字
$_level = array( '1' => '不及格', '2' => '普通', '3' => '良好', '4' => '优秀', '5' => '优异');
// 输出结果
return $_level[$i] ? $_level[$i] : '其他';
}

用PHP函数排学生成绩问题 用PHP定义一个函数,返回3个参数中的最大值?

用PHP定义一个函数,返回3个参数中的最大值?

可以使用以下代码定义一个函数,返回3个参数中的最大值:
function findMax($num1, $num2, $num3) {
$max = $num1;
if ($num2 > $max) {
$max = $num2;
}
if ($num3 > $max) {
$max = $num3;
}
return $max;
}
该函数接受3个参数 $num1, $num2, $num3,并使用 if 语句判断它们之间的大小关系,返回最大值 $max。可以通过以下方式调用该函数:
echo findMax(5, 9, 3); // 输出 9
在调用函数时,传递3个参数 5, 9 和 3,函数返回 9,这是三个参数中的最大值。

用PHP函数排学生成绩问题 用PHP定义一个函数,返回3个参数中的最大值?

php问题……php截取字符串几个实用的函数

我爱编程网(https://www.52biancheng.com)小编还为大家带来php问题……php截取字符串几个实用的函数的相关内容。

1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串

<?php$str="phpddt.com";echosubstr($str,2);//pddt.comechosubstr($str,2,3);//pddechosubstr($str,-2);//om负数从结尾开始取?>

但是当你截取中文字符串的时候很容易出现乱码,因为一个汉字是两个字节,而一个英文字母是一个字节。解决办法如下.

2.mb_substr(),使用方法和substr相同,不过要开启php.ini里面extension=php_mbstring.dll扩展,不用担心,一般的空间商都会开启这个扩展的。

<?phpechomb_substr("php点点通",1,3,"UTF-8");//hp点?>

代码如下:

substr(string,start,length)

其中start的参数

正数-在字符串的指定位置开始

负数-在从字符串结尾的指定位置开始

0-在字符串中的第一个字符处开始

strstr()函数搜索一个字符串在另一个字符串中的第一次出现。

该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回false。

strstr('abc@jb51.net','@',TRUE);//参数设定true,返回查找值@之前的首部,abc 我爱编程网

strstr('abc@jb51.net','@');//默认返回查找值@之后的尾部,@jb51.net

网上也有很多中文字符串截取教程,实现起来比较复杂,感觉还是用php自带的函数实现起来比较好。整理的网络资料(php代码)如下:

(1)截取GB2312中文字符串

<?php//截取GB2312中文字符串functionmysubstr($str,$start,$len){$tmpstr="";$strlen=$start+$len;for($i=0;$i<$strlen;$i++){if(ord(substr($str,$i,1))>0xa0){$tmpstr.=substr($str,$i,2);$i++;}else$tmpstr.=substr($str,$i,1);}return$tmpstr;}echomysubstr("php点点通",1,5);//php点?>

(2)截取utf8编码的多字节字符串

<?php//截取utf8字符串functionutf8Substr($str,$from,$len){returnpreg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str);}echoutf8Substr("php点点通",1,5);//hp点点通?>

(3)支持utf-8、gb2312都支持的汉字截取函数

<?php//同时支持utf-8、gb2312都支持的汉字截取函数,默认编码是utf-8functioncut_str($string,$sublen,$start=0,$code='UTF-8'){if($code=='UTF-8'){$pa="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";preg_match_all($pa,$string,$t_string);if(count($t_string[0])-$start>$sublen)returnjoin('',array_slice($t_string[0],$start,$sublen))."...";returnjoin('',array_slice($t_string[0],$start,$sublen));}else{$start=$start*2;$sublen=$sublen*2;$strlen=strlen($string);$tmpstr='';for($i=0;$i<$strlen;$i++){if($i>=$start&&$i<($start+$sublen)){if(ord(substr($string,$i,1))>129){$tmpstr.=substr($string,$i,2);}else{$tmpstr.=substr($string,$i,1);}}if(ord(substr($string,$i,1))>129)$i++;}if(strlen($tmpstr)<$strlen)$tmpstr.="...";return$tmpstr;}}$str="php点点通提供原创php教程";echocut_str($str,8,0);//php点点通提供...?>

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“用PHP函数排学生成绩问题 用PHP定义一个函数,返回3个参数中的最大值?”相关推荐