【问题标题】:How to check if a string is one of the known values?如何检查字符串是否是已知值之一?
【发布时间】:2012-04-04 07:55:54
【问题描述】:
<?php
$a = 'abc';

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

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

【问题讨论】:

    标签: php


    【解决方案1】:

    使用in_array() 函数。

    手册说:

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

    例子:

    <?php
    $a = 'abc';
    
    if (in_array($a, array('are','abc','xyz','lmn'))) {
        echo "Got abc";
    }
    ?>
    

    【讨论】:

      【解决方案2】:

      像这样:

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

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

      【讨论】:

        【解决方案3】:

        in_array函数。

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

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

        in_array(0, array('are','abc','xyz','lmn')) 将返回 true,这可能与您的预期不同。

        【讨论】:

          【解决方案4】:

          试试这个:

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

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

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

          bool in_array ( 混合 $needle , array $haystack [, bool $strict = FALSE ]) 使用松散比较在 haystack 中搜索针,除非 已设置严格。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-09-11
            • 1970-01-01
            • 2020-08-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-01-01
            • 2016-06-07
            相关资源
            最近更新 更多