Heim > Artikel > Backend-Entwicklung > So ermitteln Sie die Rangfolge einer Zahl in einem Array in PHP
In vielen Fällen müssen wir die Rangfolge einer Zahl in einem Array abfragen. Beispielsweise möchten wir in einer Reihe von Testergebnissen unser Ranking wissen. In PHP können wir verschiedene Methoden verwenden, um diese Funktion zu erreichen. Im Folgenden werde ich einige Implementierungsmethoden vorstellen.
Methode 1: Verwenden Sie die Funktion array_search.
Die Funktion array_search kann nach einem bestimmten Wert in einem Array suchen und den Schlüsselnamen dort zurückgeben, wo er sich befindet. Mit Hilfe dieser Funktion können wir leicht die Position einer bestimmten Zahl im Array ermitteln und diese dann mit anderen Werten vergleichen, um die Rangfolge zu erhalten. Hier ist ein Beispielcode:
<?php $grades = array(85, 90, 73, 79, 92, 88, 75); rsort($grades); // 按照从高到低的顺序排序 $rank = array_search(79, $grades) + 1; echo "您的成绩在数组中的排名是第 $rank 名。"; ?>
Im obigen Code sortiert die Rsort-Funktion das Array von hoch nach niedrig. Dann verwenden wir die Funktion array_search, um die Position der Zahl 79 im Array zu finden, und addieren 1, um die Rangfolge zu erhalten. Geben Sie einfach das endgültige Ranking aus.
Hinweis: Wenn das Array mehrere identische Zahlen enthält, gibt die Funktion array_search nur den Schlüsselnamen des ersten übereinstimmenden Elements zurück. Wenn Sie die Positionen aller übereinstimmenden Elemente ermitteln möchten, müssen Sie das gesamte Array durchlaufen, um sie zu finden.
Methode 2: Verwenden Sie die Funktion array_flip und asort.
Diese Methode erfordert zuerst die Verwendung der Funktion array_flip, um die Schlüssel und Werte des ursprünglichen Arrays auszutauschen, und anschließend die Verwendung der Funktion asort Funktion zum Sortieren des Arrays nach Wert Sortieren Sie in aufsteigender Reihenfolge und verwenden Sie dann die Funktion array_flip, um die Schlüssel und Werte wieder auszutauschen. Zum Schluss müssen Sie nur noch die Position der angegebenen Zahl im neuen Array ermitteln. Das Folgende ist ein Beispielcode:
<?php $grades = array(85, 90, 73, 79, 92, 88, 75); $flipped_array = array_flip($grades); asort($flipped_array); $rank = array_search(79, $flipped_array) + 1; echo "您的成绩在数组中的排名是第 $rank 名。"; ?>
Im obigen Code tauschen wir zuerst die Schlüssel und Werte des ursprünglichen Arrays aus und sortieren dann in aufsteigender Reihenfolge nach Wert. Auf diese Weise steht der Schlüssel mit dem kleinsten Wert an erster Stelle, der Schlüssel mit dem zweitkleinsten Wert an zweiter Stelle und so weiter. Zum Schluss suchen Sie einfach die Position der angegebenen Zahl im neuen Array und addieren 1.
Zusammenfassung:
Beide der beiden oben genannten Methoden können die Rangfolge einer bestimmten Zahl in einem Array erreichen. Es ist zu beachten, dass bei mehreren identischen Zahlen im Array das gesamte Array durchlaufen werden muss, um seine Position im Array zu bestimmen. Darüber hinaus haben unterschiedliche Methoden auch unterschiedliche Anwendungsszenarien und müssen entsprechend der tatsächlichen Situation ausgewählt und verwendet werden.
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie die Rangfolge einer Zahl in einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!