不明白这里为什么三元运算?
$row = $no%$maxLine?$no%$maxLine:$maxLine;不可以直接用吗?$row=$no%$maxLine。如何要用到三元运算那如何比较$row得出true或是false。是不是等于0就是false?
$row = $no%$maxLine?$no%$maxLine:$maxLine;不可以直接用吗?$row=$no%$maxLine。如何要用到三元运算那如何比较$row得出true或是false。是不是等于0就是false?
2015-11-27
$row = $no%$maxLine?no%$maxLine:$maxLine;
这里根据优先级,是先计算后面的三目运算。后赋值。
三目运算符,又称为三元运算符。
语法:条件 ? 结果1 : 结果2
?前面是条件,如果条件为真,那么返回结果1,否则返回结果2。
这里定义的变量$row存储的值是列数。这里如果$no%$maxLine成立(%是取模的意思,即求余数。),如果成立,返回no%$maxLine,否则返回$maxLine。
即学生编号除以每排人数有余数,返回余数,否则返回每排人数。
为什么要这样捏?假如学生编号16,16除以4是没有余数,那么是不是就是在第4列(跟每排人数刚好一样)。
需要知道的一点,取模运算中,如果被模数不够取模,是直接返回被模数。如:3%4,返回的是3。
举报