Heim > Artikel > Backend-Entwicklung > Allgemeine PHP-Funktionsanalyse: in_array()
In PHP ist die Funktion in_array() eine sehr häufig verwendete Funktion. Sie kann feststellen, ob ein Wert in einem Array vorhanden ist. In diesem Artikel werden wir eine ausführliche Analyse der Funktion in_array() bereitstellen. Die Syntax der Funktion
in_array() lautet wie folgt:
bool in_array(mixed $needle, array $haystack[, bool $strict = FALSE])
wobei $needle der abzurufende Wert $haystack ist ist das Zielarray, $ strict gibt an, ob der strikte Modus verwendet werden soll (dh ob Typen berücksichtigt werden sollen), und der Standardwert ist FALSE.
Als nächstes schauen wir uns ein Beispiel an:
$fruits = array("apple", "banana", "orange"); if (in_array("apple", $fruits)) { echo "有苹果哦!"; }
Die Ausgabe dieses Codes lautet „Es gibt Äpfel!“, da „apple“ im $fruits-Array vorhanden ist.
Als nächstes schauen wir uns einige verschiedene Situationen an.
Fall 1: Bei einfachen Werttypen verwendet die Funktion in_array() standardmäßig den entspannten Modus, d. h. der Typ wird nicht berücksichtigt. Zum Beispiel:
$numbers = array(1, 2, 3, 4, 5); if (in_array("2", $numbers)) { // 注意,这里的 2 是一个字符串 echo "2 存在于数组中"; }
Das Ausgabeergebnis dieses Codes lautet ebenfalls „2 existiert im Array“. Auch wenn „2“ eine Zeichenfolge ist, kann sie erfolgreich abgeglichen werden.
Um den strikten Modus zu verwenden, müssen Sie den dritten Parameter auf TRUE setzen. Zum Beispiel:
$numbers = array(1, 2, 3, 4, 5); if (in_array("2", $numbers, TRUE)) { echo "2 存在于数组中"; } else { echo "2 不是数组的元素"; }
Die Ausgabe dieses Codes lautet „2 ist kein Element des Arrays“, da „2“ und 2 im strikten Modus unterschiedliche Typen sind und nicht erfolgreich abgeglichen werden können.
Fall 2: Für Werte zusammengesetzter Typen (z. B. Arrays) verwendet die Funktion in_array() standardmäßig auch den entspannten Modus, d. h. solange eines der Elemente erfolgreich übereinstimmt, wird der gesamte Wert berücksichtigt ein gelungenes Spiel. Zum Beispiel:
$person1 = array("name" => "John", "age" => 30); $person2 = array("name" => "Mary", "age" => 25); $people = array($person1, $person2); if (in_array(array("name" => "John"), $people)) { echo "有一个人叫 John!"; }
Die Ausgabe dieses Codes lautet „Es gibt eine Person namens John!“, da das Element „name“ von $person1 erfolgreich abgeglichen wurde.
Fall 3: Wenn der Wert im Zielarray NULL ist, geht die Funktion in_array() nicht davon aus, dass der Wert nicht existiert. Zum Beispiel:
$values = array("a", "b", NULL); if (in_array(NULL, $values)) { echo "NULL 存在于数组中"; }
Die Ausgabe dieses Codes lautet „NULL existiert im Array“.
Zusammenfassend ist die Funktion in_array() eine sehr praktische Funktion und wird häufig verwendet. Wenn Sie während der Entwicklung feststellen müssen, ob ein Wert in einem Array vorhanden ist, können Sie der Verwendung dieser Funktion Priorität einräumen. Achten Sie gleichzeitig darauf, den strikten Modus zu verwenden, um Probleme mit Typkonflikten zu vermeiden.
Das obige ist der detaillierte Inhalt vonAllgemeine PHP-Funktionsanalyse: in_array(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!