【问题标题】:How can I make the ternary operator execute code in PHP?如何让三元运算符在 PHP 中执行代码?
【发布时间】:2017-01-01 11:17:37
【问题描述】:

我想回应一条简单的信息,但形式如下:

$number = 1;
$number == 1? echo 'yes': echo 'no';

不是这种形式:

$number = 1;
echo $number == 1? 'yes': 'no';

这可能吗?如何:为什么不;

【问题讨论】:

  • 你确定第二个被剪断的代码对你不起作用吗:eval.in/628457
  • 为我工作。你的 PHP 版本是多少?
  • 它不起作用,因为它不是这样工作的。如果他们想让三元像那样工作,他们会让它像那样工作。 @lisectech 有最接近您喜欢的解决方案。
  • 第一种形式不起作用,第二种起作用。但我需要让它作为第一个工作。
  • 那么你必须按照 @lisectech 的建议去做。没有办法让语法错误不是语法错误。

标签: php ternary-operator


【解决方案1】:

您为什么要这样做?您提供的第二个代码 sn -p 是解决问题的方法。

如果没有,那么试试这个:

<?php
$number = 1;
$number == 1 ? print('yes') : print('no');

【讨论】:

  • 请问为什么它可以与函数 print 而不是 echo 一起工作?
  • @user3646717 print 的行为类似于函数,而 echo 并不是真正的函数,而是一种语言结构。
  • 但是但是,php 手册说 print 也是一种语言构造 php.net/manual/en/function.print.php 你知道它与 print 而不是 echo 的真正原因吗?
  • 如果您已经费心查看 PHP 手册,您应该阅读php.net/manual/en/function.echo.php。它说:“echo(与其他一些语言结构不同)的行为不像函数,因此它不能总是在函数的上下文中使用。”。
猜你喜欢
  • 2011-12-15
  • 2020-12-18
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-27
相关资源
最近更新 更多