【问题标题】:PHP: The best way to check if 3 variables are identical?PHP:检查 3 个变量是否相同的最佳方法?
【发布时间】:2011-10-18 17:30:14
【问题描述】:

如果这是一件常见的事情,请原谅我,但我不知道该怎么做。

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

我认为我可以这样做:

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

但我想这是不可能的。

这有语法吗?还是我必须单独检查它们/使用 && 或 || ?

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

【问题讨论】:

  • 面试题中经常出现:如何判断一个三角形是否等边

标签: php variables syntax


【解决方案1】:

我会使用:

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

【讨论】:

  • 感谢您在答案底部的解释,当您说出来并发出“啊哈!”时,我明白了时刻,但你把它画得很好,这会让它更容易记住。谢谢你。 (另外,最快的答案。格拉茨。=))
【解决方案2】:

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

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

【讨论】:

  • 哈哈哈,最后的sn-p看起来很有趣。这几天我要去学习python,只是不知道什么时候..我听说过很多关于它的好东西^__^谢谢你的快速回复=)
  • 很多 &lt;3 用于 Python。当然你也可以用x &lt; y &lt;= z代替x &lt; y and y &lt;= z
【解决方案3】:

不要以为你可以做得更简单:

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

【讨论】:

  • 看来这毕竟是一件常见的事情。哈哈。感谢您的快速回复 =)
【解决方案4】:

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

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

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

【讨论】:

  • 哦,“数组唯一”?惊人的。谢谢你,稍后在我的脚本中会派上用场 =)
猜你喜欢
  • 2012-05-23
  • 2015-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
相关资源
最近更新 更多