PHP:检查3个变量是否相同的最佳方法?

时间:2011-08-03 00:53:35

标签: php variables syntax

请原谅我,如果这是常见的事情,但我不确定应该怎么做。

我想看看三个变量是否彼此相同

我以为我可以这样做:

<?php
 if ($one == $two == $three) {
  echo "they all match.";
 } else {
  echo "one of these variables do not match."; 
 }
?>

但我想这是不可能的。

这是否有语法?或者我必须单独检查它们和&amp;&amp;或|| ?

我知道单独检查它们会提高准确性(并且可能是更好的做法),但对于这种特殊情况,哪一种不匹配无关紧要。

4 个答案:

答案 0 :(得分:8)

我会用:

if ( $one === $two && $two === $three )
    echo "they all match."
else
    echo "one of these variables do not match.";
  • #1 ==#2(无类型强制)
  • #2 ==#3(无类型强制)
  • ∴#1 ==#2 ==#3

答案 1 :(得分:6)

这是一个可能有用的替代解决方案。如果您的变量已经在数组中,那将特别有用。

$a = array($one, $two, $three);

if(count(array_unique($a)) == 1){
  // all match
}
else {
  // some items do not match
}

答案 2 :(得分:4)

您使用&&。幸运的是,通过==的传递属性,您只需检查三个中的两个:)

if ($one == $two && $two == $three) {
    echo "they all match.";
} else {
    echo "one of these variables do not match."; 
}

想要“做我的意思”语言?使用Python。

>>> a = 'foo'
>>> b = 'foo'
>>> c = 'foo'
>>> a == b == c
True

答案 3 :(得分:3)

不要认为你可以更简单地做到:

if ($one == $two && $two == $three)