PHP如果更短的话

Jam*_*mes 5 php if-statement

什么是真正的写作方式:

if ($variable == '(value1/value2/value3)' ) { }
Run Code Online (Sandbox Code Playgroud)

它应该类似于:

if ($variable == 'value1' || $variable == 'value2' || $variable == 'value3') { }
Run Code Online (Sandbox Code Playgroud)

只是想让这段代码更短(现在我用switch).

谢谢.

Bol*_*ock 15

试试in_array():

if (in_array($variable, array('value1', 'value2', 'value3'))) {}
Run Code Online (Sandbox Code Playgroud)

如果你确实碰巧有一组值,在你的例子中是a /,只是explode()它,你将有一个插入的数组in_array():

if (in_array($variable, explode('/', 'value1/value2/value3'))) {}
Run Code Online (Sandbox Code Playgroud)

看起来你可能只是使用strpos()它,因为它是一长串的值,但这不是一个人如何处理多个值的分隔字符串(使用explode()相反,如上所述):

if (strpos('value1/value2/value3', $variable) !== false) {}
Run Code Online (Sandbox Code Playgroud)

  • 但使用正则表达式不是很简单吗?喜欢:`if(preg_match('/%$ 6 ^ $%^ - `jil9(*&(((&&(*&((&%%% 88&value1*^*&^))&*!@#!value2%*^*^&*^*^*value3','(value1/value2/value3)');`?如果你问我,有时你们不会直接思考;) (6认同)
  • @ karim79:哈,这让我笑了:) (2认同)