Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich effizient nach einem Wert in einem mehrdimensionalen PHP-Array suchen?

Wie kann ich effizient nach einem Wert in einem mehrdimensionalen PHP-Array suchen?

Linda Hamilton
Freigeben: 2024-12-28 03:23:09
Original
693 Leute haben es durchsucht

How Can I Efficiently Search for a Value in a PHP Multidimensional Array?

PHP-Suche nach mehrdimensionalen Arrays durch Wertoptimierung

Bei der Suche nach einem bestimmten Wert innerhalb eines mehrdimensionalen Arrays ist Effizienz von größter Bedeutung. Herkömmliche Schleifenmethoden können umständlich und zeitaufwändig sein, insbesondere bei großen Arrays.

Um diese Suche zu optimieren, sollten Sie die Implementierung einer benutzerdefinierten Funktion in Betracht ziehen:

function searchForId($id, $array) {
  foreach ($array as $key => $val) {
    if ($val['uid'] === $id) {
      return $key;
    }
  }
  return null;
}
Nach dem Login kopieren

Diese Funktion iteriert durch das Array und vergleicht die 'uid'-Eigenschaft jedes Elements auf die angegebene 'id'. Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Array-Schlüssel zurückgegeben.

Zum Beispiel die Verwendung des folgenden Arrays:

$userdb = [
  [
    'uid' => '100',
    'name' => 'Sandra Shush',
    'pic_square' => 'urlof100'
  ],
  [
    'uid' => '5465',
    'name' => 'Stefanie Mcmohn',
    'pic_square' => 'urlof100'
  ],
  [
    'uid' => '40489',
    'name' => 'Michael',
    'pic_square' => 'urlof40489'
  ]
];
Nach dem Login kopieren

Der Aufruf von „searchForId(100, $userdb)“ würde 0 zurückgeben, und der Aufruf von „searchForId(40489, $userdb)“ würde 2 zurückgeben.

Ein alternativer Ansatz in PHP-Versionen 5.5.0 und höher besteht darin, die Funktionen „array_search“ und „array_column“ zu verwenden:

$key = array_search('100', array_column($userdb, 'uid'));
Nach dem Login kopieren

Dieser Einzeiler führt effizient die gleiche Aufgabe wie die benutzerdefinierte Funktion aus.

Durch die Einbindung dieser Durch Optimierungen können Sie die Leistung Ihrer mehrdimensionalen Array-Suchen in PHP erheblich steigern.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach einem Wert in einem mehrdimensionalen PHP-Array suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage