Użycie funkcji USORT w PHP

Użycie funkcji USORT w PHP
W PHP istnieje wiele wbudowanych funkcji w celu sortowania zmiennych tablicy. funkcja usort () jest jedną z nich. Ta funkcja sortuje tablicę za pomocą funkcji zwrotnej zdefiniowanej przez użytkownika. Gdy tablica zawiera określony rodzaj danych, których nie można sortować w sposób standardowy za pomocą innych funkcji sortowania, wówczas usor () lepiej jest użyć. Na przykład, jeśli tablica zawiera wartości danych, wówczas różnorodności nie można odpowiednio sortować za pomocą innych funkcji sortowania PHP. Ten typ kolekcji można sortować, definiując właściwą funkcję zdefiniowaną przez użytkownika wywoływaną w drugim argumencie funkcji usort (), w jaki sposób usort () może sortować określone wartości tablicy pokazane w tym samouczku.

Składnia:

Składnia funkcji usort () podano poniżej.

Boolean usort (tablica $ array, callback ())

Ta funkcja ma dwa argumenty. Oba argumenty są obowiązkowe. Pierwszy argument ma tablicę, która zostanie posortowana. Funkcja callback () porównuje wartości tablicy w celu sortowania tablicy i zwraca wartość liczbową. Jeśli argumenty funkcji callback () są równe, funkcja zwróci 0. Jeśli pierwszy argument funkcji callback () jest większy niż drugi argument, zwróci 1. Jeśli pierwszy argument funkcji callback () jest mniejszy niż drugi argument, zwraca -1. Funkcja usort () zwraca true dla pomyślnego sortowania i zwraca fałsz dla nieudanego rodzaju. Niektóre zastosowania tej funkcji pokazano w następnej części tego samouczka.

Przykład-1: Sortuj tablicę wartości daty

Poniższy przykład pokazuje, w jaki sposób tablicę wartości daty można poprawnie sortować za pomocą funkcji USORT (). Utwórz plik PHP z następującym skryptem. $ date_Array jest zdefiniowany z pięciodomiastymi wartościami. sort_date () Funkcja jest zadeklarowana jako funkcja zwrotu w celu sortowania $ date_Array. Wartości tablicy są drukowane przed wywołaniem funkcji USORT (). Gdy funkcja USORT () jest wywoływana z tablicą i funkcją wywołania zwrotnego, przekonwertuje dwie wartości daty na wartości znaczników czasu za pomocą funkcji strtotime (). Jeśli dwie wartości znaczników czasu są równe, funkcja zwróci 0. Jeśli pierwsza wartość znacznika czasu jest większa niż druga wartość znacznika czasu, funkcja zwróci 1. Jeśli pierwsza wartość znacznika czasu jest niższa niż druga wartość znacznika czasu, funkcja zwróci -1. funkcja usort () wywoła funkcję wywołania zwrotnego wiele razy do czasu $ date_Array jest prawidłowo posortowany. Następnie posortowana tablica zostanie wydrukowana za pomocą dla każdego pętla.

// Zdefiniuj funkcję wywołania zwrotnego
funkcja sort_date ($ a, $ b)
return strtotime ($ a) - strtotime ($ b);

// zadeklaruj tablicę wartości daty
$ date_array = tablica ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Wydrukuj wartości tablicy przed sortowaniem
Echo "

Wartości tablicy daty:

";
foreach ($ date_Array jako $ value)

echo $ wartość."
";

// sortuj tablicę za pomocą USORT ()
usort ($ date_array, „sort_date”);
// Wydrukuj tablicę po sortowaniu
Echo "

Wyjście po sortowaniu tablicy daty:

";
foreach ($ date_Array jako $ value)

echo $ wartość."
";

?>

Wyjście:

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera.

Przykład-2: Sortuj tablicę asocjacyjną

Poniższy przykład pokazuje, w jaki sposób tablicę asocjacyjną można sortować za pomocą funkcji usort (). Utwórz plik PHP z następującym skryptem. sort_names () Funkcja jest deklarowana funkcją zwrotu zwrotnego w celu sortowania tablicy na podstawie wartości tablicy. Operator trójskładnikowy jest używany w sort_names () funkcja porównania wartości tablicy asocjacyjnej. Jeśli dwie wartości są równe, wówczas funkcja wywołania zwrotnego zwróci 0. Jeśli pierwsza wartość argumentu jest większa niż wartość drugiej argumentu, funkcja zwrotu zwróci 1. Jeśli pierwsza wartość argumentu jest mniejsza niż wartość drugiej argumentu, funkcja zwrotu zwrotu zwróci -1. usort () sortuje tablicę za pomocą funkcji wywołania zwrotnego, a sortowana tablica zostanie wydrukowana za pomocą za pomocą dla każdego pętla.

// Zdefiniuj funkcję, aby sortować tablicę asocjacyjną
funkcja sort_names ($ a, $ b)
zwrócić $ a == $ b ? 0: $ a> $ b ? 1: -1;

// Zdefiniuj tablicę asocjacyjną
$ persons = array („1001” => „Meera Ali”, „1002” => „Kabir Hossain”, „1003” => „Nurjahan Akter”);
// sortuj tablicę
usort ($ persons, „sort_names”);
// Wydrukuj posortowaną tablicę
Echo "Wartości posortowanej tablicy:
";
Foreach ($ osoby jako $ osoba)
echo $ osoba. "
";
?>

Wyjście:

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera.

Przykład-3: Sortuj dwuwymiarową tablicę

Poniższy przykład pokazuje, w jaki sposób można sortować dwuwymiarową tablicę za pomocą funkcji USORT (). Utwórz plik PHP z następującym skryptem. sort_array () Funkcja jest deklarowana funkcją zwrotu zwrotnego w celu sortowania tablicy na podstawie wartości tablicy. funkcja strcmp () jest używana w funkcji wywołania zwrotnego do porównania wartości tablicy. Jeśli dwie wartości są równe, funkcja strcmp () zwróci 0. Jeśli pierwsza wartość argumentu jest większa niż wartość drugiej argumentu, funkcja strcmp () zwróci 1. Jeśli pierwsza wartość argumentu jest mniejsza niż druga wartość argumentu, funkcja strcmp () zwróci -1. usort () sortuje tablicę za pomocą funkcji wywołania zwrotnego, a struktura posortowanej tablicy zostanie wydrukowana za pomocą print_r () funkcjonować.

// Zdefiniuj funkcję, aby sortować układ dwuwymiarowy
funkcja sort_array ($ a, $ b)

return strcmp ($ a ['a'], $ b ['a']);

// deklaruj tablicę dwuwymiarową
$ zwierzęta = tablica (tablica („A” => „Lion”), tablica („a” => „jelenie”), array („a” => „królik”), array („A” => „Monkey” "));
// sortuj tablicę
usort ($ zwierzęta, „sort_array”);
// Wydrukuj posortowaną tablicę
Echo "Wartości tablicy po usort ():
";
print_r ($ zwierzęta);
Echo "
";
?>

Wyjście:

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera.

Wniosek:

usort () jest przydatną funkcją do sortowania określonych rodzajów danych, które nie mogą poprawnie sortować normalnych funkcji sortowania PHP. Funkcja zwrotnego funkcji USORT () jest zdefiniowana na podstawie rodzajów wartości wymaganych do sortowania. Ten samouczek pomoże czytelnikom wiedzieć, jak korzystać z funkcji usort () i zastosować ją w ich skrypcie na podstawie wymagań.