Einführung in die Verwendung der Funktion usort() in der PHP-Funktionsbibliothek

王林
Freigeben: 2023-06-27 09:12:01
Original
1508 Leute haben es durchsucht

PHP ist eine weit verbreitete Programmiersprache mit vielen häufig verwendeten Funktionen, die Entwickler nutzen können. usort() ist einer davon. Die Hauptfunktion von usort() besteht darin, das Array gemäß der angegebenen Vergleichsfunktion zu sortieren. Die Syntax der Funktion

usort() lautet wie folgt:

usort(array $array, callable $cmp_function): bool
Nach dem Login kopieren

Im obigen Code stellt $array das zu sortierende Array dar und $cmp_function ist ein aufrufbare Vergleichsfunktion. Der Rückgabewert ist ein boolescher Typ und gibt an, ob die Sortierung erfolgreich war. $array 表示要排序的数组,$cmp_function 是一个可调用的比较函数。返回值是布尔类型,表示排序是否成功。

下面就对 usort() 函数进行详细介绍。

比较函数

usort() 函数中传入的比较函数必须是可调用的,也就是说可以被调用执行的函数。比较函数一般在调用 usort() 时定义,通过一个匿名函数或是指定函数名称的方式来定义。比如,你可以这样来定义一个比较函数:

function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}
Nach dem Login kopieren

在这个比较函数中,$a$b 分别代表 usort() 函数传入的要比较的两个参数。根据自己的需求,你可以自定义比较函数的实现方法。比较函数返回值可以是 0、-1 或 1。若返回 0,则代表两个参数相等;若返回 -1,则代表 $a$b 小;若返回 1,则代表 $a$b 大。

使用方法

接下来,我们来看一下如何使用 usort() 函数来对数组进行排序。假设我们有一个数组,其中包含如下元素:

$array = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3];
Nach dem Login kopieren

如果我们想对这个数组进行排序,可以使用 usort() 函数:

usort($array, "cmp");
Nach dem Login kopieren

这里的 "cmp"

Das Folgende ist eine detaillierte Einführung in die Funktion usort().

Vergleichsfunktion

usort() Die in der Funktion übergebene Vergleichsfunktion muss aufrufbar sein, dh eine Funktion, die aufgerufen und ausgeführt werden kann. Vergleichsfunktionen werden im Allgemeinen beim Aufruf von usort() definiert, entweder durch eine anonyme Funktion oder durch Angabe des Funktionsnamens. Sie können beispielsweise eine Vergleichsfunktion wie folgt definieren:

[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
Nach dem Login kopieren

In dieser Vergleichsfunktion stellen $a und $b jeweils die vom usort übergebenen Werte dar () Funktion, die zwei Parameter vergleichen soll. Sie können die Implementierungsmethode der Vergleichsfunktion entsprechend Ihren Anforderungen anpassen. Der Rückgabewert der Vergleichsfunktion kann 0, -1 oder 1 sein. Wenn 0 zurückgegeben wird, bedeutet dies, dass die beiden Parameter gleich sind. Wenn -1 zurückgegeben wird, bedeutet dies, dass $a kleiner ist als $b. es bedeutet, dass $a größer als $b ist.

Verwendung

Als nächstes schauen wir uns an, wie man die Funktion usort() zum Sortieren des Arrays verwendet. Angenommen, wir haben ein Array mit den folgenden Elementen:

$students = [
    ["name" => "Alice", "age" => 18],
    ["name" => "Bob", "age" => 20],
    ["name" => "Charlie", "age" => 19],
];
Nach dem Login kopieren

Wenn wir dieses Array sortieren möchten, können wir die Funktion usort() verwenden:
    function cmp_age($a, $b) {
        if ($a["age"] == $b["age"]) {
            return 0;
        }
        return ($a["age"] < $b["age"]) ? -1 : 1;
    }
    Nach dem Login kopieren
  1. Der "cmp" hier ist der von uns definierte Vergleich Der Name der Funktion. Nachdem Sie den obigen Code ausgeführt haben, können Sie das sortierte Array erhalten: Die Funktion
  2. usort($students, "cmp_age");
    Nach dem Login kopieren
  3. usort() kann nicht nur Zahlen, sondern auch Zeichenfolgen, Objekte usw. sortieren. Stellen Sie sich vor, wir haben ein Array mit mehreren Objekten, jedes mit einem Attributwert:
  4. [
        ["name" => "Alice", "age" => 18],
        ["name" => "Charlie", "age" => 19],
        ["name" => "Bob", "age" => 20],
    ]
    Nach dem Login kopieren
  5. Wenn wir diese Schüler nach Alter sortieren möchten, können wir die Funktion usort() verwenden und eine neue Vergleichsfunktion definieren:
  6. rrreee
  7. In dieser Vergleichsfunktion , wir sortieren, indem wir das Altersattribut der Schülerobjekte vergleichen. Verwenden Sie die Funktion usort(), um dieses Schülerarray zu sortieren:
  8. rrreeeNachdem wir den obigen Code ausgeführt haben, können wir die Schüler nach ihrem Alter sortieren:

    rrreee

    Hinweise

    Bei der Verwendung der Funktion usort() müssen Sie aufpassen Die folgenden Fragen: 🎜🎜🎜Die übergebene Vergleichsfunktion muss aufrufbar sein, dh eine Funktion, die aufgerufen und ausgeführt werden kann. 🎜🎜Der Rückgabewert der Vergleichsfunktion muss 0, -1 oder 1 sein. Die Funktion 🎜🎜usort() ändert das ursprüngliche Array direkt. Wenn Sie sie verwenden, müssen Sie daher darauf achten, ob auf das Array verwiesen und es an anderer Stelle verwendet wird. 🎜🎜Wenn das Array zwei oder mehr gleiche Elemente enthält, kann die Funktion usort() deren Reihenfolge nicht garantieren. 🎜🎜🎜Zusammenfassung🎜🎜usort()-Funktion ist eine sehr häufig verwendete Funktion in der PHP-Entwicklung, sie kann Arrays bequem sortieren. Wenn wir es verwenden, müssen wir eine Vergleichsfunktion definieren und diese als Parameter an die Funktion usort() übergeben. Es gibt einige Details zu beachten, aber insgesamt ist die Verwendung der Funktion usort() sehr einfach. 🎜

    Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der Funktion usort() in der PHP-Funktionsbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage