×

php三目接值

php三目接值(php三目运算)

admin admin 发表于2023-04-03 02:42:09 浏览34 评论0

抢沙发发表评论

本文目录一览:

PHP中?:什么意思

PHP中“?:”指的是三目运算符。

三目运算符,又称条件运算符,是计算机语言的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

三目运算符提供了一种表达简单 if-else 语句的简写方法。该运算符由问号(?)和冒号(:)组成,其格式如下:表达式 ? 表达式 : 表达式 ;语句被称为条件表达式,它由 3 个子表达式组成,使用问号 ? 和冒号 : 分隔。-php三目接值

问号前面的条件表达式的部分是要测试的条件。这就像 if 语句的括号中的表达式。如果条件是真的,则执行 ? 和 : 之间的语句;否则,执行 : 之后的部分。如果认为有帮助,可以在子表达式周围放置圆括号

扩展资料:

运算规则:

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。

可以理解为: 条件 ? 结果1 : 结果2,里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

参考资料来源:百度百科-三目运算符

PHP的三目运算符是?

$a = ( 1  0) ? true : false; //三目运算符(三元表达式)与下边 if 语句意思一样

if( 1  0 ){

    $a = true;

}else{

    $a = false;

}

PHP三目运算“?:”的问题?

PHP三目运算符的左结合性并不是用不上的,你可以用如下语句:

echo $s != 1 ? $s != 2 ? $s != 3 ? "Unknown" : "three" : "two" : "one";

这样不需要括号了,而且不像你之前那句一样,不管变量$s值为几?都得做三次三目运算操作。

这里如果$s值为1,则在第一次三目运算中就跳出去了,不会再继续执行后面两次三目运算

哦~修正一下~你原来那加括号的写法,变量$s=1时,也是一次运算就跳出……

php三目运算符?10-3>2?0:true?5:3,为什么结果是3呢?

你这个是双重三目运算,它会先执行排在前面的运算,再执行后面的运算。我加个括号看的会明白些,如下:

(10-32 ? 0 : true)? 5 : 3,首先执行括号里的运算,10-3大于2,条件成立,所以输出结果是0,那么第二个运算公式就变成了0 ? 5 : 3,0表示假的意思,即条件不成立,所以输出结果是3。-php三目接值

建议写多重三目运算时分开写,不要合在一起,比如:

$a = true ? 5 : 3;

echo 10-3  2 ? 0 : $a;

三目运算符

语法:

条件 ? 结果1 : 结果2

说明:

问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。

关于PHP的三目运算,究竟是怎样的?

你可以吧你的代码精简下,比如如下:

?php 

$arg = 'B';

$vehicle =(( $arg == 'B' ) ? 'bus' : ( $arg == 'A' )) ? 'airplane' :  'feet';

echo $vehicle;

这样看就很明显了,先执行括号中的三目运算。