$row = $no%$maxLine?$no%$maxLine:$maxLine; 其中的 问号(即"?")是什么作用

来源:5-9 PHP中的算术运算符(2)

qq_听得见的安静_0

2016-02-26 14:17

<?php 

     $maxLine = 9; //每排人数

$no = 17;//学生编号


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

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

    


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

     

?>


写回答 关注

4回答

  • greenhandc
    2016-03-16 18:04:00

    三元运算符所能判断的是bool类型的数,这里如果能够整除的话就是false,否则均视为1,也就是true,也就是说,能整除,就是一排的最后一个maxLline,如果不能整除,就是$no%$maxLine.

    二姐爱淘米

    解答的挺好,我也想了半天

    2016-03-18 02:06:52

    共 1 条回复 >

  • LIANHK
    2016-02-26 16:30:08

    这种写法是三元运算

    如名字表示的三元运算符需要三个操作数。

    语法为:条件表达式?表达式1:表达式2。

    说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。

    其逻辑为:“如果为真执行第一个,否则执行第二个。”

  • good_learner
    2016-02-26 14:34:19

    问号表达式,做一个判断!

  • spark3344
    2016-02-26 14:30:04

    判断,问号前面的条件成立取“:”前的值,不成立取“:”后的值

    qq_听得见...

    可是我并没有给 $row 赋肯定的值啊 系统怎么会知道 条件成立与否? 例如 $a = 0?0:1; 输出是1 $b = 2?2:3; 输出是2 请问 $a 中 为啥 :前的不成立 $b 中 为啥 : 前面的就成立

    2016-02-26 15:49:06

    共 1 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

456324 学习 · 6539 问题

查看课程

相似问题