„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann mithilfe von array_diff festgestellt werden, ob ein Array alle Werte eines anderen Arrays enthält?

Wie kann mithilfe von array_diff festgestellt werden, ob ein Array alle Werte eines anderen Arrays enthält?

Veröffentlicht am 18.11.2024
Durchsuche:467

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

Array_diff verwenden, um die Einbeziehung von Array-Werten zu prüfen

Die Feststellung, ob ein Array alle Werte aus einem anderen Array enthält, ist eine häufige Programmieraufgabe. Betrachten Sie das folgende Beispiel:

Gegebene Arrays $all und $search_this, definiert als:

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

Wir wollen überprüfen, ob $all alle in $search_this vorhandenen Elemente enthält.

Verwendung von array_diff für einen effizienten Vergleich

Um dies zu erreichen Im Vergleich besteht der effizienteste Ansatz darin, die Funktion array_diff zu verwenden, die ein Array von Elementen zurückgibt, die im ersten Array, aber nicht im zweiten gefunden wurden. Indem wir es auf unseren Fall anwenden, können wir ableiten, ob $all alle Werte von $search_this enthält.

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

If the Wenn das resultierende Array leer ist (d. h. es wird kein Unterschied gefunden), bedeutet dies, dass $all alle Werte von $search_this enthält. Als Ergebnis wird $containsAllValues ​​auf true gesetzt. Andernfalls ist es falsch. Diese Methode löst das Problem effektiv mit minimaler Komplexität und einfacher Implementierung.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3