6

私は約20の異なる変数を持っており、この変数を互いに比較して、それらが等しいかどうかを確認したいと思います。

$var1 = 1;
$var2 = 2;
$var3 = 1;
$var4 = 8;
.
.
.
$var10 = 2;

今チェックしたい...

if($var1 == $var2 || $var1 == $var3 || $var1 == $var4 || ......... || $var2 == $var3 || $var2 == $var4 || ............. || $var8 = $var9 || $var8 == $var10 ||...)
{
    echo 'At-least two variables have same value';
}

私はこれを行うのが簡単だと思っています。助言がありますか?

4

3 に答える 3

10
$arr = array($var1, $var2, ... , $var10);

if (count($arr) !== count(array_unique($arr))) {
  echo 'At-least two variables have same value';
}
于 2012-08-13T07:45:57.117 に答える
7

変数のいずれかが重複しているかどうかを調べたい場合は、それらを配列に入れて、次を使用しますarray_count_values

array_count_values()入力配列の値をキーとして使用し、入力内のそれらの頻度を値として使用して配列を返します。

結果に 1 より大きい値があれば、一致しています。

例えば

$values = array(1,2,3,1);
if(max(array_count_values($values)) > 1) {
   ...
于 2012-08-13T07:46:26.653 に答える
0

まず、それらを配列に保存すると、すべてが簡単になります

$list=array("1"=>$var1,"2"=>$var2,......,"10"=>$var10);
$list2=array_unique($list);
if(count($list2) != count($list))
    echo 'At-least two variables have same value';
于 2012-08-13T07:49:40.007 に答える