Heim >Backend-Entwicklung >PHP-Problem >Entdecken Sie, wie PHP ermittelt, ob eine Zeichenfolge in einem Array vorhanden ist

Entdecken Sie, wie PHP ermittelt, ob eine Zeichenfolge in einem Array vorhanden ist

PHPz
PHPzOriginal
2023-04-25 09:07:06802Durchsuche

In PHP müssen wir oft feststellen, ob ein Array eine bestimmte Zeichenfolge enthält. In diesem Artikel untersuchen wir, wie PHP ermittelt, ob eine bestimmte Zeichenfolge in einem Array vorhanden ist, und wie Elemente in einem Array gefunden und gefiltert werden.

Methode 1: Verwenden Sie die Funktion in_array().

php bietet die Funktion in_array(), mit der Sie leicht feststellen können, ob das angegebene Element im Array enthalten ist. Die Syntax dieser Funktion lautet wie folgt:

in_array($search, $array);

wobei der Parameter $search das zu findende Element und der Parameter $array das zu findende Array ist. Gibt true zurück, wenn das $search-Element in $array enthalten ist, andernfalls false. Der Beispielcode lautet wie folgt:

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search1 = 'banana';
$search2 = 'grape';

if (in_array($search1, $fruits)) {
    echo "Fruits array contains $search1";
} else {
    echo "Fruits array does not contain $search1";
}

if (in_array($search2, $fruits)) {
    echo "Fruits array contains $search2";
} else {
    echo "Fruits array does not contain $search2";
}

Führen Sie den obigen Code aus. Das Ergebnis lautet:

Fruits array contains banana
Fruits array does not contain grape

Methode 2: Verwenden Sie die Funktion array_search().

php bietet auch die Funktion array_search(), mit der das erste Element in gefunden werden kann das Array Die Position, an der es erscheint. Die Syntax dieser Funktion lautet wie folgt:

array_search($search, $array);

wobei der Parameter $search das zu findende Element und der Parameter $array das zu findende Array ist. Wenn das Suchelement im Array enthalten ist, wird der Schlüsselname des ersten Vorkommens des Elements im Array zurückgegeben, andernfalls wird false zurückgegeben. Der Beispielcode lautet wie folgt:

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search1 = 'banana';
$search2 = 'grape';

$result1 = array_search($search1, $fruits);
$result2 = array_search($search2, $fruits);

if ($result1 !== false) {
    echo "$search1 found at position $result1";
} else {
    echo "$search1 not found in the array";
}

if ($result2 !== false) {
    echo "$search2 found at position $result2";
} else {
    echo "$search2 not found in the array";
}

Führen Sie den obigen Code aus. Das Ergebnis lautet:

banana found at position 1
grape not found in the array

Methode 3: Verwenden Sie in_array() in Kombination mit der Funktion array_map()

Manchmal müssen wir herausfinden, ob das Array eine Menge enthält von Strings jedes Element. Zu diesem Zeitpunkt können wir die Funktion in_array() in Kombination mit der Funktion array_map() verwenden. Die Funktion array_map() führt eine benutzerdefinierte Funktion für jedes Element des Arrays aus und gibt ein neues Array zurück, das die Ergebnisse aller Funktionen enthält. Wir können die Funktion in_array() in der Funktion array_map() aufrufen, um den Wert zu finden. Der Beispielcode lautet wie folgt:

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search = array('apple', 'watermelon');

$found = array_filter(array_map(function($needle) use($fruits){
    return in_array($needle, $fruits);
}, $search));

if ($found) {
    echo "Found these fruits: ";
    print_r($found);
} else {
    echo "No fruits found";
}

Führen Sie den obigen Code aus. Das Ergebnis lautet:

Found these fruits: Array
(
    [0] => 1
)

Im obigen Code verwenden wir die Funktionen array_map() und array_filter(). Die Funktion array_map() durchläuft jedes Element im Array $search und ruft für jedes Element eine anonyme Funktion auf, die prüft, ob das Element im Array $fruits enthalten ist. Die Funktion array_filter() empfängt ein Array und gibt ein Array zurück, das nur Elemente enthält, die wahr sind. In diesem Fall enthält $found nur die Positionen, an denen das Element vorhanden ist.

Methode 4: Verwenden Sie die Funktion preg_grep()

Wenn wir Elemente in einem Array finden müssen, die ein bestimmtes Muster enthalten, z. B. alle Elemente, die mit dem Buchstaben „a“ beginnen, können wir die Funktion preg_grep() in PHP verwenden . Die Funktion preg_grep() gibt ein Array zurück, das alle Elemente enthält, die dem Muster entsprechen. Der Beispielcode lautet wie folgt:

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$pattern = '/^a/';

$found = preg_grep($pattern, $fruits);

if ($found) {
    echo "Found these fruits: ";
    print_r($found);
} else {
    echo "No fruits found";
}

Führen Sie den obigen Code aus. Das Ergebnis lautet:

Found these fruits: Array
(
    [0] => apple
)

Im obigen Code verwenden wir den regulären Ausdruck „/^a/“, um Elemente abzugleichen, die mit dem Buchstaben „a“ beginnen. Die Funktion preg_grep() empfängt einen regulären Ausdruck und das zu durchsuchende Array und gibt ein Array zurück, das alle Elemente enthält, die dem Ausdruck entsprechen.

Zusammenfassung

In diesem Artikel werden vier verschiedene Methoden in PHP vorgestellt, um herauszufinden, ob ein Array eine bestimmte Zeichenfolge enthält. Zu diesen Methoden gehört die Verwendung der Funktion in_array(), der Funktion array_search(), der Funktion in_array() in Kombination mit der Funktion array_map() und der Funktion preg_grep(). Diese Methoden sind allesamt in PHP häufig verwendete Array-Abfragemethoden. Bei der Arbeit können wir je nach Situation die geeignete Methode auswählen.

Das obige ist der detaillierte Inhalt vonEntdecken Sie, wie PHP ermittelt, ob eine Zeichenfolge in einem Array vorhanden ist. 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