In der PHP-Entwicklung müssen wir oft feststellen, ob sich ein Array in einem anderen Array befindet.
Zum Beispiel gibt es ein Szenario, in dem es ein Array A gibt. Wir müssen feststellen, ob alle Elemente in Array A in einem anderen Array B vorhanden sind.
In PHP kann über die Funktion in_array() ermittelt werden, ob sich ein Array in einem anderen Array befindet. Diese Funktion kann jedoch nicht feststellen, ob ein Array vollständig in einem anderen Array enthalten ist. Daher müssen wir selbst eine Funktion schreiben, um diese Funktion zu implementieren.
Das Folgende ist die Implementierung einer benutzerdefinierten Funktion:
function array_in_array($needle, $haystack) { $result = true; foreach ($needle as $value) { if (!in_array($value, $haystack)) { $result = false; break; } } return $result; }
Diese Funktion akzeptiert zwei Parameter: $needle und $haystack.
$needle stellt das zu beurteilende Array dar und $haystack stellt das zu beurteilende Array dar.
Der Rückgabewert der Funktion ist ein boolescher Typ, der angibt, ob $needle vollständig in $haystack enthalten ist.
Das Folgende ist ein Anwendungsbeispiel:
$arrayA = array('apple', 'banana', 'orange'); $arrayB = array('orange', 'banana', 'apple', 'pear'); $result = array_in_array($arrayA, $arrayB); if ($result) { echo '数组A中所有元素都在数组B中'; } else { echo '数组A中存在元素不在数组B中'; }
Im obigen Beispiel enthält $arrayA 3 Elemente und $arrayB 4 Elemente. Alle Elemente in $arrayA existieren in $arrayB. Daher ist der Wert von $result wahr und das Programm gibt „Alle Elemente in Array A sind in Array B“ aus.
Wenn $arrayB wie folgt geändert wird:
$arrayB = array('orange', 'banana');
Nach der Ausführung des obigen Codes gibt das Programm „Es gibt Elemente in Array A, aber nicht in Array B“ aus.
Diese Funktion ist relativ einfach. Der Schlüssel liegt darin, das Prinzip zu verstehen.
Wir können die Elemente in $needle durch eine foreach-Schleife durchlaufen und dann feststellen, ob sich jedes Element in $haystack befindet. Wenn es ein Element gibt, das nicht in $haystack enthalten ist, bedeutet dies, dass $needle keine Teilmenge von $haystack ist und die Funktion false zurückgibt.
Auf diese Weise können wir leicht feststellen, ob sich ein Array in einem anderen Array befindet!
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob sich ein Array in einem Array in PHP befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!