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.
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