Heim >Backend-Entwicklung >PHP-Problem >So überprüfen Sie, ob sich ein Zeichen in einem Array in PHP befindet

So überprüfen Sie, ob sich ein Zeichen in einem Array in PHP befindet

PHPz
PHPzOriginal
2023-04-23 10:07:20461Durchsuche

In der PHP-Entwicklung ist Array ein sehr häufiger Datentyp. In einem Array können wir mehrere Variablen speichern, und auf diese Variablen kann über Indizes zugegriffen und diese geändert werden. In der tatsächlichen Entwicklung können jedoch einige Probleme auftreten, z. B. die Überprüfung, ob ein Zeichen in einem Array vorhanden ist. In diesem Artikel besprechen wir, wie man prüft, ob sich ein Zeichen in einem Array befindet.

Schauen wir uns zunächst ein einfaches Beispiel an. Angenommen, wir haben ein Array mit einigen Städtenamen:

$cities = array("北京", "上海", "广州", "深圳");

Nun möchten wir prüfen, ob ein Name in diesem Array enthalten ist. Angenommen, wir möchten prüfen, ob die Stadt „Shenzhen“ in diesem Array enthalten ist. Um diesen Zweck zu erreichen, können wir die Funktion in_array() von PHP verwenden. Die Syntax dieser Funktion lautet wie folgt:

in_array( $needle, $haystack [, $strict ] )

Parameter:

  • $needle: erforderlich. Gibt den Wert an, nach dem gesucht werden soll.
  • $haystack: Erforderlich. Gibt das Array an, in dem der Wert gefunden werden soll.
  • $strict: Optional. Wenn dieser Parameter auf „true“ gesetzt ist, überprüft die Funktion bei der Suche nach einer Übereinstimmung auch den Datentyp (d. h. der gesuchte Wert und der Wert des Arrays müssen genau gleich sein).

Diese Funktion durchsucht das Array nach einem bestimmten Wert und gibt true zurück, wenn der Wert gefunden wird, andernfalls false. Dann können wir diese Funktion wie folgt aufrufen:

if (in_array("深圳", $cities)) {
    echo "深圳是一个城市"; // 输出:深圳是一个城市
} else {
    echo "深圳不是一个城市";
}

In diesem Beispiel verwenden wir zunächst die Funktion in_array(), um zu prüfen, ob „Shenzhen“ im Array $cities enthalten ist. Wenn „Shenzhen“ im Array gefunden wird, wird „Shenzhen ist eine Stadt“ ausgegeben, andernfalls wird „Shenzhen ist keine Stadt“ ausgegeben.

Wenn wir jedoch versuchen, die Funktion in_array() zu verwenden, um herauszufinden, ob ein Zeichen in einem Array vorhanden ist, werden wir feststellen, dass wir wahrscheinlich ein falsches Ergebnis erhalten. Zum Beispiel:

$letters = array("a", "b", "c", "d");
if (in_array("ab", $letters)) {
    echo "找到了"; 
} else {
    echo "没找到"; // 输出:没找到
}

Im obigen Beispiel versuchen wir zu überprüfen, ob die Zeichenfolge „ab“ im $letters-Array enthalten ist. Da die Funktion in_array() jedoch nur ein einzelnes Element überprüft, gibt sie false zurück, da „ab“ kein Element ist.

Um dieses Problem zu lösen, können wir andere Funktionen verwenden, um herauszufinden, ob ein Zeichen im Array vorhanden ist. Hier sind einige Methoden:

  1. Verwenden der Funktion strpos()

Wir können die Funktion strpos() verwenden, um herauszufinden, ob ein Zeichen vorhanden ist ein Array. Diese Funktion findet eine andere Zeichenfolge innerhalb einer Zeichenfolge und gibt die Position der ersten Übereinstimmung zurück, falls sie gefunden wird. Wenn nicht gefunden, wird false zurückgegeben. Mit dieser Funktion können wir ein Zeichen in einem Array finden. Hier ist ein Beispiel:

$letters = array("a", "b", "c", "d");
if (strpos(implode($letters), "ab") !== false) {
    echo "找到了"; // 输出:找到了
} else {
    echo "没找到";
}

In diesem Beispiel verwenden wir zunächst die Funktion implode(), um alle Elemente im $letters-Array zu einer Zeichenfolge zusammenzufassen, und verwenden dann die Funktion strpos() zum Suchen „ab“ ist in dieser Zeichenfolge. Wenn gefunden, geben Sie „Gefunden“ aus, andernfalls geben Sie „Nicht gefunden“ aus.

  1. Verwenden Sie die Funktion preg_grep()

Wir können auch die Funktion preg_grep() verwenden, um herauszufinden, ob ein Zeichen in einem Array vorhanden ist. Diese Funktion akzeptiert ein reguläres Ausdrucksmuster und gleicht alle übereinstimmenden Elemente im Array ab. Anschließend wird ein Array zurückgegeben, das alle Übereinstimmungen enthält. Wenn es keine Übereinstimmung gibt, wird „false“ zurückgegeben. Hier ist ein Beispiel:

$letters = array("a", "b", "c", "d");
if (preg_grep("/ab/", $letters)) {
    echo "找到了"; // 输出:找到了
} else {
    echo "没找到";
}

In diesem Beispiel verwenden wir die Funktion preg_grep(), um herauszufinden, ob die Zeichenfolge „ab“ im Array vorhanden ist. Es gibt ein neues Array zurück, das die Übereinstimmungen enthält. Gibt true zurück, wenn das neue Array nicht leer ist, andernfalls false. Wenn also „ab“ gefunden wird, geben Sie „Gefunden“ aus, andernfalls geben Sie „Nicht gefunden“ aus.

  1. Verwenden Sie die Funktion array_filter()

Schließlich können wir die Funktion array_filter() verwenden, um herauszufinden, ob ein Zeichen in einem Array vorhanden ist. Diese Funktion akzeptiert eine Rückruffunktion und filtert alle nicht übereinstimmenden Elemente aus dem Array heraus. Anschließend wird ein Array zurückgegeben, das alle Übereinstimmungen enthält. Wenn es keine Übereinstimmung gibt, wird ein leeres Array zurückgegeben. Hier ist ein Beispiel:

$letters = array("a", "b", "c", "d");
if (array_filter($letters, function($value) {
    return strpos($value, "a") !== false;
})) {
    echo "找到了"; // 输出:找到了
} else {
    echo "没找到";
}

In diesem Beispiel verwenden wir die Funktion array_filter() und eine Callback-Funktion, um herauszufinden, ob die Zeichenfolge „a“ im Array vorhanden ist. Die Rückruffunktion akzeptiert einen Wert und gibt „true“ oder „false“ zurück, was angibt, ob der Wert den Suchkriterien entspricht. Die Funktion array_filter() gibt ein Array zurück, das alle Übereinstimmungen enthält. Wenn also „a“ gefunden wird, geben Sie „Gefunden“ aus, andernfalls geben Sie „Nicht gefunden“ aus.

In diesem Artikel haben wir verschiedene Methoden vorgestellt, um zu überprüfen, ob ein Zeichen in einem Array vorhanden ist. In der tatsächlichen Entwicklung müssen Sie möglicherweise unterschiedliche Methoden verwenden, je nachdem, wie Sie die Daten verarbeiten. Wenn Sie auf ähnliche Probleme stoßen, nutzen Sie bitte die in diesem Artikel beschriebenen Methoden, um eine für Sie geeignete Lösung zu finden.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob sich ein Zeichen in einem Array in PHP befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn