php echo在三元运算符中不起作用,例如:$ test =='a test'? echo'test is not empty':'';

时间:2013-07-27 20:22:00

标签: php

我有这个三元操作:

$test == 'a test' ? echo 'test is not empty' : '';

我想知道为什么回声不起作用?

这是一个PHP代码。

2 个答案:

答案 0 :(得分:3)

它不起作用,因为这是无效的语法。如果需要,在脚本的顶部添加它,PHP会告诉你:

ini_set('display_errors', '1');
error_reporting(E_ALL);

更新:等等,添加这个不应该是必需的,因为它是一个解析器错误,因此无论如何脚本都不会到达那里。相反,如有必要,请在display_errors中将On设置为php.ini,然后重新启动服务器。的 /更新

应该这样写:

echo $test == 'a test' ? 'test is not empty' : '';

或更好,因为没有任何回应没有多大意义:

if($test == 'a test') echo 'test is not empty';

答案 1 :(得分:1)

echo是一个声明(好吧,PHP称之为“语言结构”)。语句不能在表达式中使用;这就是语句与表达的区别。