11
<?php
$a = 'abc';

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

上記のコードがあるとすると、「if($ a between ...)」というステートメントの書き方は?ありがとうございました

4

4 に答える 4

18

関数を使用しin_array()ます。

マニュアルによると:

strictが設定されていない限り、緩い比較を使用して干し草の山で針を検索します。

例:

<?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';
}

また、あなたが与えた例では中括弧を使用しないことは技術的に許可されていますが、それらを使用することを強くお勧めします。後で戻って、条件がtrueの場合のロジックを追加すると、中括弧を追加するのを忘れて、コードが台無しになる可能性があります。

于 2012-04-04T07:57:54.170 に答える
2

in_array関数があります。

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

注:true厳密な比較を使用するには 、3番目のパラメーターを設定する必要があります

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])strictが設定されていない限り、緩い比較を使用してhaystackで針を検索します。

于 2012-04-04T08:00:24.247 に答える