此PHP语句的输出
此PHP语句的输出为:此PHP语句的输出,php,echo,Php,Echo,此PHP语句的输出为: $a = 'a'; $b = 'b'; echo isset($c) ? $a.$b.$c : ($c = 'c').'d'; 它显示“cd”,但这里有一个问题: 为什么($c='c')是'c' 这个语句的执行顺序是什么?这类似于:echo($c='c')。'd'?顺序是:括号,然后是外部。这与: $c = 'c'; $c = $c . 'd'; echo $c; 首先,你使用的是三元运算符?这与如果。。。else声明。 因为变量$c没有设置,所以它执行($c='c
$a = 'a'; $b = 'b';
echo isset($c) ? $a.$b.$c : ($c = 'c').'d';
它显示“cd”,但这里有一个问题:
为什么($c='c')
是'c'
这个语句的执行顺序是什么?这类似于:
echo($c='c')。'd'代码>?顺序是:括号,然后是外部。这与:
$c = 'c';
$c = $c . 'd';
echo $c;
首先,你使用的是三元运算符?这与如果。。。else声明。
因为变量$c没有设置,所以它执行($c='c')。'd'
然后它将值'c'分配给$c
变量,并且(因为赋值是在表达式中完成的)($c='c')
在执行时被解析为'c',并完成赋值
关于为什么($c='c')是'c'的问题。这是php的一个特性。它同时做两件事。首先它将值赋给变量$c
,然后如果在表达式中使用变量$c
的值。首先它将'c'
赋给$c
,然后将其与'd'
连接,最后回显。就这些。你还希望($c='c')
是什么?首先是(…)
,然后是
。($c='c')
的结果是$c(现在等于'c'),因为您将'c'
赋值给$c
($c='c')
是将值c
赋值给$c
,没有第二个赋值给$c。@OliCharlesworth我知道,我的意思是为了更好地理解,把这个表达分解成多个指令。