Heim >Backend-Entwicklung >PHP-Tutorial >Wie finde ich den nächsten Wert in einem PHP-Array?

Wie finde ich den nächsten Wert in einem PHP-Array?

Barbara Streisand
Barbara StreisandOriginal
2024-11-28 16:30:11937Durchsuche

How to Find the Nearest Value in a PHP Array?

Übereinstimmende oder nächstgelegene Array-Werte finden

Beim Programmieren ist es notwendig, bestimmte Werte innerhalb von Arrays zu finden. Insbesondere kann es wichtig sein, den Wert zu finden, der einem Zielwert am nächsten kommt.

Betrachten wir ein Beispielarray:

array(0, 5, 10, 11, 12, 20)

Wenn wir den Wert suchen, der einem Zielwert von 0 am nächsten kommt, sollte die Funktion dies tun Geben Sie 0 zurück. In ähnlicher Weise sollte die Funktion für Ziel 3 5 zurückgeben, und für Ziel 14 ist der nächste Wert im Array 12.

Um dies zu erreichen, Wir können die folgende PHP-Funktion verwenden:

function getClosest($search, $arr) {
   $closest = null;
   foreach ($arr as $item) {
      if ($closest === null || abs($search - $closest) > abs($item - $search)) {
         $closest = $item;
      }
   }
   return $closest;
}

In dieser Funktion durchlaufen wir jedes Element im Array. Für jedes Element ermitteln wir die absolute Differenz zwischen dem Suchwert und dem nächstliegenden Wert bzw. dem aktuellen Element. Wenn die aktuelle Differenz kleiner ist als die zuvor aufgezeichnete Differenz, aktualisieren wir den nächstliegenden Wert auf das aktuelle Element. Schließlich gibt die Funktion das Array-Element zurück, das dem Zielsuchwert am nächsten kommt.

Das obige ist der detaillierte Inhalt vonWie finde ich den nächsten Wert in einem PHP-Array?. 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