以下搜索字符串$ fruit中的任何单词apple,oranges和bananas并相应地采取行动:
if ((stristr($fruit,'apples')) || (stristr($fruit,'oranges')) || (stristr($fruit,'bananas')) !== false) {//some code }
我需要OPPOSITE。如果字符串$ fruit没有这三个中的任何一个,我需要运行代码。我在想像
if not ((stristr($fruit,'apples')) || (stristr($fruit,'oranges')) || (stristr($fruit,'bananas')) !== false) {//some code }
但这似乎不起作用......
请举手一点?感谢...
答案 0 :(得分:7)
您正在寻找的是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
}
答案 1 :(得分:0)
感谢大家的帮助。
我最终做了这个,基于那些回复的所有输入,哪个有效:
if (!((stristr($fruit,'apples')) || (stristr($fruit,'oranges')) || (stristr($fruit,'bananas')) !== false))
再次感谢您的帮助!
答案 2 :(得分:-2)
if (!(stristr($fruit,'apples')) || !(stristr($fruit,'oranges')) || !(stristr($fruit,'bananas')) !== false) {//some code }