11
<?php
$a = 'abc';

if($a among array('are','abc','xyz','lmn'))
    echo 'true';
?>

假设我有上面的代码,如何写语句“if($a between...)”?谢谢

4

4 回答 4

18

使用该in_array()功能。

手册说:

除非设置了严格,否则使用松散比较在 haystack 中搜索针。

例子:

<?php
$a = 'abc';

if (in_array($a, array('are','abc','xyz','lmn'))) {
    echo "Got abc";
}
?>
于 2012-04-04T07:57:03.250 回答
5

像这样:

if (in_array($a, array('are','abc','xyz','lmn')))
{
  echo 'True';
}

此外,虽然在您给出的示例中,技术上允许不使用大括号,但我强烈建议您使用它们。如果您稍后回来并在条件为真时添加更多逻辑,您可能会忘记添加大括号,从而破坏您的代码。

于 2012-04-04T07:57:54.170 回答
2

in_array函数。

if(in_array($a, array('are','abc','xyz','lmn'), true)){
   echo 'true';
}

注意: 您应该将第三个参数设置true为使用严格比较。

in_array(0, array('are','abc','xyz','lmn'))将返回true,这可能不是您所期望的。

于 2012-04-04T07:58:12.890 回答
1

尝试这个:

if (in_array($a, array('are','abc','xyz','lmn')))
{
  // Code
}

http://php.net/manual/en/function.in-array.php

in_array检查一个值是否存在于数组中

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) 除非设置了严格,否则使用松散比较搜索 haystack 中的针。

于 2012-04-04T08:00:24.247 回答