为了账号安全,请及时绑定邮箱和手机立即绑定

谁能解释一下这是什么意思?对着敲,完全看不懂

http://img1.sycdn.imooc.com//5d86e0bf000111e312640277.jpg谁能解释一下这是什么意思?对着敲,完全看不懂

正在回答

4 回答

<?php
    $maxLine = 4;//每排人数
    $no = 20;//学生编号

    $line = ceil($no/$maxLine);//ceil函数向上舍入为最接近的整数,17÷4=4.25,向上最接近的整数是5。所以得到改名学生在第5排
    $row = $no%$maxLine?$no%$maxLine:$maxLine;//定义位置的变量名为row,用学生编号除以每排人数,求得余数为1。即位置是第1位。再用三元运算符判断,$row=1?1:4,$no%$maxLine的余数大于0,结果为true,row取值为1。
//学生编号是其他数字,也是类似的推算。如果编号是18,那余数为2,$no%$maxLine的余数大于0,结果为true,$row=2?2:4,row取值为2。
//编号是19,那余数为3,,$row=3?3:4,$no%$maxLine的余数大于0,结果为true,row取值为3。
//编号是20,那余数为0,,$row=0?0:4,$no%$maxLine的余数为0,结果为false,row取值为4。

    echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";
?>


9 回复 有任何疑惑可以回复我~
//--------自己复述一下代码意思:-----------
     $maxLine = 4; //每排人数
     $no = 17;//学生编号
     
     //如果学生编号不被排数整除,那么学生所在排数就是相除后的排数的后面一排.
     if($no%$maxLine!=0){
         //
         $line=round($no/$maxLine)+1;
         $row=$no%$maxLine;
         echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";
     }
     //被整除就是在$line排上的最后一个位置
     else $line=round($no/$maxLine);
     echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$maxLine."</b>个位置";


1 回复 有任何疑惑可以回复我~

$line = ceil($no/$maxLine); 

意思是:

考生在第几排= 考生编号16   除以   每排最多4个人,所以16号考生在第4排.

如果这里考生编号是17, 17÷4=4.25 

需要用到ceil()函数,这个函数的作用是:向上舍入为最接近的整数: 4.25变为5,也就是考生17号 在第5排.

____________________________________________________________________________________________________________

$row=($no%$maxLine)?($no%$maxLine):($maxLine);

这里我的理解是:

  ($no%$maxLine)得到一个余数; 

余数就是    17 除以 4 等于 4  余 1    (整除后剩下的数字就是余数) 


这里如果能整除,值是0,0会被识别为null,null为false,非0的数值是true


如果余数不是0 则为ture, $row=expr2

如果余数是0 则为flase, $row=expr3


3 回复 有任何疑惑可以回复我~
#1

weixin_慕工程6397061

余数都是一个数值,凭什么认为0=null
2022-01-04 回复 有任何疑惑可以回复我~

ceil() 函数向上舍入为最接近的整数。

ceil(x)
参数描述
x必需。一个数。

例子

在本例中,我们将对不同的值应用 ceil() 函数:

<?php
echo(ceil(0.60);
echo(ceil(0.40);
echo(ceil(5);
echo(ceil(5.1);
echo(ceil(-5.1);
echo(ceil(-5.9));
?>

输出:

1
1
5
6
-5
-5

从w3schoo复制的

遇到不会的函数可以百度下哈

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁能解释一下这是什么意思?对着敲,完全看不懂

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信