php

Usort () függvény használata a PHP-ben

Usort () függvény használata a PHP-ben
A PHP-ben sok beépített funkció létezik a tömbváltozók rendezéséhez. a usort () függvény az egyik. Ez a függvény a tömböt a felhasználó által definiált visszahívási funkció segítségével rendezi. Ha a tömb egy olyan típusú adatot tartalmaz, amelyet nem lehet rendezni szokásos módon más rendezési függvények használatával, akkor jobb az usort () használata. Például, ha a tömb adatértékeket tartalmaz, akkor a fajtát nem lehet megfelelően rendezni a PHP egyéb rendezési funkcióival. Ez a fajta gyűjtemény úgy rendezhető, hogy meghatározza a megfelelő felhasználó által definiált függvényt, amelyet a usort () függvény második argumentumában hívnak meg, hogy az usort () függvény hogyan tudja rendezni az ebben az oktatóanyagban bemutatott meghatározott tömb értékeket.

Szintaxis:

Az usort () függvény szintaxisa alább látható.

Logikai érték (array $ array, callback ())

Ennek a függvénynek két argumentuma van. Mindkét érv kötelező. Az első argumentum a rendezni kívánt tömböt veszi fel. A callback () függvény összehasonlítja a tömb értékeit a tömb rendezéséhez, és numerikus értéket ad vissza. Ha a callback () függvény argumentumai megegyeznek, akkor a függvény 0-t ad vissza. Ha a visszahívás () függvény első argumentuma nagyobb, mint a második argumentum, akkor 1-et ad vissza. Ha a visszahívás () függvény első argumentuma kisebb, mint a második argumentum, -1-et ad vissza. Az usort () függvény true-t ad vissza sikeres rendezés esetén, és false-t eredményez sikertelen rendezés esetén. A funkció egyes felhasználási módjai bemutatásra kerültek az oktatóanyag következő részében.

1. példa: Rendezzen dátumértékek tömbjét

Az alábbi példa bemutatja, hogyan lehet a dátumértékek tömbjét rendezni megfelelően az usort () függvény segítségével. Hozzon létre egy PHP fájlt a következő szkript segítségével. $ date_array öt dátumú értékekkel van meghatározva. sort_date () függvény visszahívási függvényként van deklarálva a $ date_array. A tömbértékeket kinyomtatják, mielőtt meghívnák a usort () függvényt. Ha az usort () függvényt meghívja a tömb és a visszahívás funkcióval, két dátumértéket időbélyeg értékekké alakít át az strtotime () függvény segítségével. Ha a két időbélyeg értéke egyenlő, akkor a függvény 0-t ad vissza. Ha az első időbélyeg értéke nagyobb, mint a második időbélyeg értéke, akkor a függvény értéke 1 lesz. Ha az első időbélyeg értéke alacsonyabb, mint a második időbélyeg értéke, akkor a függvény -1-et ad vissza. A usort () függvény többször is meghívja a visszahívási függvényt a $ date_array rendezve van. Ezután a rendezett tömböt kinyomtatja a a mindegyikre hurok.

// Határozza meg a visszahívási funkciót
függvény sort_date ($ a, $ b)
visszatér strtotime ($ a) - strtotime ($ b);

// Deklarálja a dátumértékek tömbjét
$ date_array = tömb ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Rendezés előtt nyomtassa ki a tömb értékeit
visszhang "

A dátumtömb értéke:

";
foreach ($ date_array mint $ érték)

echo $ érték."
";

// A tömb rendezése az usort () használatával
usort ($ date_array, "sort_date");
// Rendezés után kinyomtatja a tömböt
visszhang "

A kimenet a dátum tömb rendezése után:

";
foreach ($ date_array mint $ érték)

echo $ érték."
";

?>

Kimenet:

A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.

2. példa: Rendezzen asszociatív tömböt

A következő példa bemutatja, hogy az asszociatív tömb miként rendezhető az usort () függvény segítségével. Hozzon létre egy PHP fájlt a következő szkript segítségével. sort_names () függvény visszahívási függvénynek minősül, hogy a tömböt a tömbértékek alapján rendezze. A háromszintű operátort a sort_names () függvény az asszociatív tömb értékeinek összehasonlítására. Ha a két érték egyenlő, akkor a visszahívási funkció 0-t ad vissza. Ha az első argumentum értéke nagyobb, mint a második argumentum értéke, akkor a visszahívási függvény értéke 1 lesz. Ha az első argumentum értéke kisebb, mint a második argumentum értéke, akkor a visszahívási függvény -1-et ad vissza. Az usort () a visszahívás funkcióval rendezi a tömböt, és a rendezett tömböt a a mindegyikre hurok.

// Adja meg a függvényt az asszociatív tömb rendezéséhez
függvény sort_nevek ($ a, $ b)
return $ a == $ b ? 0: $ a> $ b ? 1: -1;

// Definiálja az asszociatív tömböt
$ persons = array ("1001" => "Meera Ali", "1002" => "Kabir Hossain", "1003" => "Nurjahan Akter");
// Rendezze a tömböt
usort ($ személyek, "sort_names");
// A rendezett tömb kinyomtatása
visszhang "A rendezett tömb értékei:
";
foreach ($ személy mint $ személy)
echo $ személy. "
";
?>

Kimenet:

A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.

3. példa: Rendezzen kétdimenziós tömböt

A következő példa bemutatja, hogyan rendezhető kétdimenziós tömb az usort () függvény segítségével. Hozzon létre egy PHP fájlt a következő szkript segítségével. sort_array () függvény visszahívási függvénynek minősül, hogy a tömböt a tömbértékek alapján rendezze. Az strcmp () függvényt a visszahívási függvényben használják a tömb értékeinek összehasonlítására. Ha a két érték egyenlő, akkor az strcmp () függvény értéke 0 lesz. Ha az első argumentum értéke nagyobb, mint a második argumentum értéke, akkor az strcmp () függvény értéke 1 lesz. Ha az első argumentum értéke kisebb, mint a második argumentum értéke, akkor az strcmp () függvény -1-et ad vissza. Az usort () a visszahívás funkció segítségével rendezi a tömböt, és a rendezett tömb szerkezete a print_r () funkció.

// Funkció meghatározása a kétdimenziós tömb rendezéséhez
függvény sort_array ($ a, $ b)

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

// Nyújtsa be a kétdimenziós tömböt
$ animals = tömb (tömb ("a" => "Oroszlán"), tömb ("a" => "Szarvas"), tömb ("a" => "Nyúl"), tömb ("a" => "Majom "));
// Rendezze a tömböt
usort ($ állatok, "sort_array");
// A rendezett tömb kinyomtatása
visszhang "A tömb értékei az usort () után:
";
print_r ($ állatok);
visszhang "
";
?>

Kimenet:

A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.

Következtetés:

Az usort () hasznos funkció olyan adattípusok rendezéséhez, amelyek nem képesek rendezni a PHP normál rendezési funkcióit. A usort () függvény visszahívási függvényét a rendezéshez szükséges értékek típusa határozza meg. Ez az oktatóanyag segít az olvasóknak abban, hogy miként használják a usort () függvényt, és a követelmény alapján alkalmazzák a szkriptjükben.

Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...
0 A.D. Bemutató
A sok stratégiai játék közül 0 A.D. átfogó címként és nagyon mély, taktikus játékként képes kiemelkednie annak ellenére, hogy nyílt forráskódú. A játé...
Unity3D bemutató
Bevezetés a Unity 3D-be Az Unity 3D egy erőteljes játékfejlesztő motor. Ez több platformon keresztül lehetővé teszi játékok, mobil, webes, asztali és ...