"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo determinar si una matriz contiene todos los valores de otra matriz usando array_diff?

¿Cómo determinar si una matriz contiene todos los valores de otra matriz usando array_diff?

Publicado el 2024-11-18
Navegar:987

How to Determine if an Array Contains All Values from Another Array using array_diff?

Uso de array_diff para verificar la inclusión de valores de matriz

Determinar si una matriz contiene todos los valores de otra matriz es una tarea de programación común. Considere el siguiente ejemplo:

Dadas las matrices $all y $search_this, definidas como:

$all = array
(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array
(
    0 => 200,
    1 => 234
);

Nuestro objetivo es verificar si $all incluye todos los elementos presentes en $search_this.

Utilizando array_diff para una comparación eficiente

Para lograr esto En comparación, el enfoque más eficiente es utilizar la función array_diff, que devuelve una matriz de elementos que se encuentran en la primera matriz pero no en la segunda. Aplicándolo a nuestro caso, podemos deducir si $all contiene todos los valores de $search_this.

$containsAllValues = !array_diff($search_this, $all);

Si el la matriz resultante está vacía (es decir, no se encuentra ninguna diferencia), implica que $all contiene todos los valores de $search_this. Como resultado, $containsAllValues ​​se establecerá en verdadero. De lo contrario, será falso. Este método resuelve eficazmente el problema con una complejidad mínima y una implementación sencilla.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3