PHP Comprueba si dos arrays contienen los mismos elementos

En este artículo, veremos cómo comparar los elementos de las arrays en PHP, y sabremos cómo aplicar para obtener el resultado después de la comparación a través de los ejemplos. En PHP, hay dos tipos de arrays, array indexada y array asociativa . En una array indexada, los elementos de la array se indexan numéricamente a partir de 0, mientras que en una array asociativa, los elementos de la array tienen claves con nombre asociadas. 

Ahora, para verificar si dos arrays son iguales o no, se puede hacer una iteración sobre las arrays y verificar si para cada índice el valor asociado con el índice en ambas arrays es el mismo o no. PHP tiene un operador de array incorporado ( === ) para verificar lo mismo, pero aquí el orden de los elementos de la array no es importante. Cuando el orden de los elementos de la array no es importante, se pueden aplicar dos métodos para verificar la igualdad de la array que se enumeran a continuación:

  • Use la función sort() para ordenar un elemento de array y luego use el operador de igualdad.
  • Utilice el operador de array ( == ) en caso de array asociativa.

Comprenderemos las dos formas de comparar los elementos en arrays.

Comprobación de igualdad en una array indexada: 

Esto se puede aplicar en la array numérica donde se realiza la indexación de enteros de string. Aquí, use la función sort() para ordenar los elementos de la array y luego use el operador de igualdad para verificar el índice de esas dos arrays usando el operador de array. Aquí el orden de los elementos de la array no es importante, por lo que la clasificación hará que todos los elementos de la array sean secuenciales, por lo tanto, si dos arrays son iguales, los valores correspondientes al mismo índice de ambas arrays serán los mismos.

Ejemplo: ejemplo de PHP para verificar la igualdad de dos arrays utilizando la técnica de clasificación y el operador igual.

PHP

<?php
  $arr1 = array(4, 5, 'hello', 2.45, 3.56);
  $arr2 = array(5, 2.45, 'hello', 3.56, 4);
 
  // Sort the array elements
  sort($arr1);
  sort($arr2);
 
  // Check for equality
  if ($arr1 == $arr2)
      echo "Both arrays are same\n";
  else
      echo "Both arrays are not same\n";
 
  $arr3 = array(5, 'car', 'hello', 2.45, 3.56);
  $arr4 = array(4, 2.45, 'hello', 3.56, 'geeks');
 
  // Sort the array elements
  sort($arr3);
  sort($arr4);
 
  // Check for equality
  if ($arr3 == $arr4)
      echo "Both arrays are same";
  else
      echo "Both arrays are not same";
?>
Producción: 

Both arrays are same
Both arrays are not same

 

Comprobación de igualdad en array asociativa: en el caso de una array asociativa, todos los elementos tienen un índice asociado, por lo que no es necesario ordenarlos, el operador de igualdad se puede aplicar directamente para verificar la igualdad. Básicamente, el operador de igualdad compara los valores correspondientes a un índice en ambas arrays si todos los valores de índice son iguales, entonces son iguales, de lo contrario no lo son.

Sintaxis:

bool $arr1 == $arr2

En el caso de la array indexada, la clasificación se realiza para organizar los elementos secuencialmente, mientras que en el caso de la array asociativa, los elementos ya están indexados, por lo que la clasificación ya no es necesaria.

Ejemplo: ejemplo de PHP para comprobar la igualdad de dos arrays asociativas.

PHP

<?php
  $arr1 = array( 'first' => 'geeks',
                 'second' => 'for',
                 'last' => 'ide'
          );
  $arr2 = array( 'first' => 'geeks',
                 'last' =>'ide',
                 'second' =>'for'
          );
 
  // Check for equality
  if ($arr1 == $arr2)
      echo "Both arrays are same\n";
  else
      echo "Both arrays are not same\n";
 
  $arr3 = array( 'first' => 'geeks',
                 'second' => 'for',
                 'last' => 'ide'
          );
  $arr4 = array( 'first' => 'geek',
                 'second' =>'for',
                 'last' =>'geeks'
          );
 
  // Check for equality
  if ($arr3 == $arr4)
      echo "Both arrays are same";
  else
      echo "Both arrays are not same";
?>
Producción: 

Both arrays are same
Both arrays are not same

 

Publicación traducida automáticamente

Artículo escrito por Arghyadip_Manna y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *