So suchen Sie nach Schlüssel=Wert in einem mehrdimensionalen Array in PHP

PHPz
Freigeben: 2024-08-28 10:31:36
Original
843 Leute haben es durchsucht

How to Search by key=value in a Multidimensional Array in PHP

PHP (Hypertext-Präprozessor): PHP (Hypertext-Präprozessor) ist eine weit verbreitete serverseitige Open-Source-Skriptsprache, die speziell für die Webentwicklung entwickelt wurde. Sie wurde ursprünglich 1994 von Rasmus Lerdorf entwickelt und hat sich seitdem zu einer leistungsstarken Sprache entwickelt, die von Millionen Entwicklern weltweit verwendet wird.

PHP wird hauptsächlich zur Entwicklung dynamischer Webseiten und Webanwendungen verwendet. Es ermöglicht Entwicklern, PHP-Code in HTML einzubetten, wodurch es einfach wird, serverseitige Logik mit der Präsentationsebene zu kombinieren. PHP-Skripte werden auf dem Server ausgeführt und der resultierende HTML-Code an den Browser des Clients gesendet.

In PHP gibt es mehrere Möglichkeiten, in einem mehrdimensionalen Array nach einem bestimmten Schlüssel-Wert-Paar zu suchen.

Hier sind drei häufig verwendete Ansätze:

  • Verwenden einer foreach-Schleife

  • Verwendung von array_filter() und array_column()

  • Array_search() mit array_column() verwenden

Verwenden einer foreach-Schleife

Hier ist ein Beispiel für die Verwendung einer foreach-Schleife zur Suche nach einem Schlüssel-Wert-Paar in einem mehrdimensionalen Array in PHP:

<?php
$searchKey = 'key';
$searchValue = 'value';
$foundElement = null;
foreach ($array as $subarray) {
   if (isset($subarray[$searchKey]) && $subarray[$searchKey] === $searchValue) {
      $foundElement = $subarray;
         break;
   }
}
if ($foundElement !== null) {
   // Key-value pair found
   // Do something with $foundElement or the matching element
} else {
   // Key-value pair not found
   // Handle the case when the pair is not found
}
?>
Nach dem Login kopieren

In diesem Beispiel durchläuft die foreach-Schleife jedes Subarray im mehrdimensionalen Array. Mithilfe von isset() wird überprüft, ob der gewünschte Schlüssel im Subarray vorhanden ist und ob der Wert dieses Schlüssels mit dem Suchwert übereinstimmt. Wenn eine Übereinstimmung gefunden wird, wird der Variable $foundElement das Subarray zugewiesen und die Schleife wird mit break beendet.

Nach der Schleife können Sie prüfen, ob $foundElement nicht null ist, um festzustellen, ob das Schlüssel-Wert-Paar gefunden wurde. Wenn es nicht null ist, können Sie Operationen mit $foundElement oder dem passenden Element ausführen. Wenn der Wert null bleibt, können Sie den Fall behandeln, dass das Paar gemäß Ihren Anforderungen nicht gefunden wird.

Verwenden von array_filter() und array_column()

Hier ist ein Beispiel für die Verwendung von array_filter() und array_column() zur Suche nach einem Schlüssel-Wert-Paar in einem mehrdimensionalen Array in PHP:

$searchKey = 'key';
$searchValue = 'value';
$result = array_filter($array, function ($subarray) use ($searchKey, $searchValue) {
    return isset($subarray[$searchKey]) && $subarray[$searchKey] === $searchValue;
});
if (!empty($result)) {
    // Key-value pair found
    // Do something with $result or the matching element(s)
} else {
    // Key-value pair not found
    // Handle the case when the pair is not found
}
Nach dem Login kopieren

In diesem Beispiel wird array_filter() verwendet, um das $Array basierend auf einer Callback-Funktion zu filtern. Die Callback-Funktion prüft, ob jedes Subarray den gewünschten Schlüssel hat und ob sein entsprechender Wert mit dem Suchwert übereinstimmt. Wenn die Bedingungen erfüllt sind, wird das Subarray in das gefilterte Ergebnis einbezogen.

Nach dem Filtern können Sie überprüfen, ob das Ergebnisarray $ nicht leer ist, um festzustellen, ob das Schlüssel-Wert-Paar gefunden wurde. Wenn es nicht leer ist, können Sie Operationen mit $result oder den passenden Elementen ausführen. Wenn es leer ist, können Sie den Fall behandeln, dass das Paar nicht gemäß Ihren Anforderungen gefunden wird.

Verwenden von array_search() mit array_column()

Hier ist ein Beispiel für die Verwendung von array_search() mit array_column() zur Suche nach einem Schlüssel-Wert-Paar in einem mehrdimensionalen Array in PHP:

<?php
searchKey = 'key';
$searchValue = 'value';
$key = array_search($searchValue, array_column($array, $searchKey));
if ($key !== false) {
    // Key-value pair found
    // Do something with $array[$key] or the matching element
} else {
    // Key-value pair not found
    // Handle the case when the pair is not found
}
 
?>
Nach dem Login kopieren

In diesem Beispiel wird array_column() verwendet, um eine einzelne Wertespalte basierend auf dem Suchschlüssel aus dem mehrdimensionalen Array $array zu extrahieren. Das resultierende Array enthält die Werte des angegebenen Schlüssels aus jedem Unterarray.

Dann wird array_search() verwendet, um die Position des gewünschten Werts innerhalb der extrahierten Spalte zu finden. Wenn das Schlüssel-Wert-Paar gefunden wird, gibt array_search() den entsprechenden Schlüssel/Index des passenden Elements zurück. Wenn das Paar nicht gefunden wird, gibt array_search() false zurück.

Sie können überprüfen, ob der zurückgegebene $key nicht gleich false ist, um festzustellen, ob das Schlüssel-Wert-Paar gefunden wurde. Wenn es nicht falsch ist, können Sie Operationen mit $array[$key] oder dem passenden Element ausführen. Wenn es falsch ist, können Sie den Fall behandeln, dass das Paar nicht gemäß Ihren Anforderungen gefunden wird.

Fazit

Jeder Ansatz hat seine Vorteile und kann je nach Ihrem spezifischen Anwendungsfall besser geeignet sein. Sie können diejenige auswählen, die Ihren Anforderungen und der Struktur Ihres mehrdimensionalen Arrays entspricht.

Das obige ist der detaillierte Inhalt vonSo suchen Sie nach Schlüssel=Wert in einem mehrdimensionalen Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:tutorialspoint.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!