【问题标题】:php: I need the OPPOSITE of this please...?php: 我需要这个的对面吗...?
【发布时间】:2014-07-07 04:26:56
【问题描述】:

以下内容在字符串 $fruit 中搜索任何单词 apples、oranges 和bananas 并执行相应操作:

if ((stristr($fruit,'apples')) || (stristr($fruit,'oranges')) || (stristr($fruit,'bananas')) !== false) {//some code }

我需要对面。如果字符串 $fruit 没有这三个中的任何一个,我需要运行代码。我在想类似的事情

if not ((stristr($fruit,'apples')) || (stristr($fruit,'oranges')) || (stristr($fruit,'bananas')) !== false) {//some code }

但这似乎不起作用......

请牵个小手好吗?谢谢...

【问题讨论】:

标签: php


【解决方案1】:

你要找的是DeMorgan's law:

连词的否定是否定的析取。

析取的否定是否定的合取。

试试:

if ( stristr($fruit, 'apples') === FALSE && stristr($fruit,'oranges') === FALSE &&  stristr($fruit,'bananas') === FALSE) {
    // some code
}

由于stristr只返回一个字符串或FALSE,这段代码可以简化为:

if ( !stristr($fruit, 'apples') && !stristr($fruit,'oranges') &&  !stristr($fruit,'bananas')) {
    // some code
}

【讨论】:

    【解决方案2】:

    感谢大家的帮助。

    根据回复者的所有输入,我最终这样做了:

    if (!((stristr($fruit,'apples')) || (stristr($fruit,'oranges')) || (stristr($fruit,'bananas')) !== false))
    

    再次感谢您的帮助!

    【讨论】:

      【解决方案3】:
      if (!(stristr($fruit,'apples')) || !(stristr($fruit,'oranges')) || !(stristr($fruit,'bananas')) !== false) {//some code }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 1970-01-01
        • 2018-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多