"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como determinar se um array contém todos os valores de outro array usando array_diff?

Como determinar se um array contém todos os valores de outro array usando array_diff?

Publicado em 2024-11-18
Navegar:830

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

Usando array_diff para verificar a inclusão de valores de array

Determinar se um array contém todos os valores de outro array é uma tarefa comum de programação. Considere o seguinte exemplo:

Dados os arrays $all e $search_this, definidos como:

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

Nosso objetivo é verificar se $all inclui todos os elementos presentes em $search_this.

Utilizando array_diff para comparação eficiente

Para conseguir isso comparação, a abordagem mais eficiente é utilizar a função array_diff, que retorna um array de elementos encontrados no primeiro array, mas não no segundo. Ao aplicá-lo ao nosso caso, podemos deduzir se $all contém todos os valores de $search_this.

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

Se o a matriz resultante está vazia (ou seja, nenhuma diferença foi encontrada), isso implica que $all contém todos os valores de $search_this. Como resultado, $containsAllValues ​​será definido como verdadeiro. Caso contrário, será falso. Este método resolve efetivamente o problema com complexidade mínima e implementação direta.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3