0

我有这个三元操作:

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

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

这是一个PHP代码。

4

2 回答 2

3

它不起作用,因为这是无效的语法。如有必要,将其添加到脚本的顶部,PHP 会告诉您:

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

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

它应该这样写:

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

或者更好的是,因为什么都不回应没有多大意义:

if($test == 'a test') echo 'test is not empty';
于 2013-07-27T20:27:47.900 回答
1

echo是一个语句(嗯,PHP 称它为“语言结构”)。语句不能在表达式内部使用;这就是语句与表达式的区别。

于 2013-07-27T20:27:34.477 回答