【问题标题】:Better way to do this simple IF ELSE?做这个简单的 IF ELSE 的更好方法?
【发布时间】:2013-09-10 02:18:09
【问题描述】:

有没有更好/更简单/更合适的方法来做这个简单的 PHP?我想回显一些东西,除非变量等于 123。

   <?php 
        if ($abc=="123") echo ""; // do nothing
        else echo "something"; 
    ?>

【问题讨论】:

  • if ($abc != "123") echo "something"; 这就是我认为你想要的。

标签: php if-statement var


【解决方案1】:

最简单的方法:

'123' == $abc or print 'something';

请注意,在这种方法中,您只能使用 print。因为echo '...'can't be calculated as bool,不像print

更新

多变量排除示例:

if ('123' != $abc and '456' != $abc) print 'something';

// this code will do the same stuff
'123' == $abc or '465' == $abc or print 'something';

【讨论】:

  • 谢谢你的回答,但你把我弄丢了 bool 的东西 :( 那么“打印”更好用吗?多变量排除呢?就像这样?&lt;?php if (($abc != "123") &amp;&amp; ($abc != "456")) print "something"; ?&gt;
  • @codeview print 并不好。它只是具有在某些情况下有用的附加功能。
【解决方案2】:
echo ($abc=="123") ? "" : "something";

Ternary Operator

对于I want to echo something unless the variable is equal to 123.,使用!= 逻辑运算符。

if ($abc != "123") echo "something"; 

评论回复

您正在检查 $abc 值是 123 还是 456

现在如果$abc 的值为456 会发生什么if 的条件如下所示。

if($abc != '123' || $abc != '456') // if will be  (true || false) which is false

【讨论】:

  • 太棒了。谢谢。我如何添加另一个变量来排除?我试过了,但它不起作用:''
  • @codeview 您可以根据需要添加&amp;&amp;|| 逻辑运算符...其中&amp;&amp; 代表AND|| 代表OR
  • @codeview 确保您的 $abc 值不等于 123456
  • 我需要双括号(($) || ($))吗? &amp;&amp; 有效,但 || 显示“某事”,无论变量如何。
  • 嗯...我不关注评论回复。但是......它适用于&amp;&amp;,因为我需要它/我理解它。所以谢谢你,选择了你的答案。而且我还需要使用双括号,否则会出现错误:&lt;?php if (($abc != "123") &amp;&amp; ($abc != "456")) echo "something"; ?&gt;
【解决方案3】:

你可以这样做:

if ($abc != "123") echo "something";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 2017-07-15
    • 2013-06-26
    相关资源
    最近更新 更多