2010-03-31 16 views
7

En PHP, ¿cómo puedo saber rápidamente si todos los valores en el conjunto son idénticos?¿Cómo comprobar si todos los valores en el conjunto son idénticos?

+1

Además, muchos de estos son Googleable (como la actual) así que no hay necesidad real para publicar como una pregunta sobre stackoverflow – SeanJA

+1

estoy de acuerdo. cuantos más datos, mejor, incluso si la pregunta ya existe. puede no ser "googleable" utilizando el término de búsqueda que el usuario selecciona según la forma en que el usuario formuló la pregunta. stackoverflow + google permite a los programadores aprender nuevas técnicas y realizar el trabajo de forma más rápida y eficiente. –

Respuesta

34

Puede utilizar la prueba:

count(array_unique($arr)) == 1; 

Alternativamente, puede utilizar la prueba:

$arr === array_fill(0,count($arr),$arr[0]); 
+0

'array_unique' en realidad no modifica la matriz original. Por favor, eche un vistazo al Manual de PHP: http://php.net/manual/en/function.array-unique.php –

+0

@John: Gracias por el útil comentario. He editado mi ans. – codaddict

-1

hacer una prueba y ver si todos los resultados son los mismos:

foreach ($array as $newarray){ 
    echo $newarray. ''; 
} 
10
$results = array_unique($myArray); 
if(count($results) == 1){ 
    // $myArray is all duplicates 
} 
+0

Aunque esta es una respuesta válida, también señalaría que 'array_unique' * elimina * los duplicados, por lo que este enfoque funciona si no necesita la matriz con todos sus valores. –

+4

No modifica la matriz original ('$ myArray', en este caso), sino que devuelve una matriz con duplicados eliminados. – inkedmn

+0

O bien, puede crear una nueva variable con la matriz y dejar la matriz original sola. – Cryophallion

2

También puede usar este cheque:

count(array_count_values($arr)) == 1 
0

¿Por qué no simplemente recorrer esta matriz?

-1

puede comprobar si hay count(array_intersect($arr1, $arr2)) == 0

0
$myArray = array('1','1','1'); 
$results = array_unique($myArray); 
if(count($results) == 1) 
{ 
    echo"all value is duplicates"; 
} 
else 
{ 
    echo"all value is not duplicates"; 
} 
Cuestiones relacionadas