пхп

Употреба функције усорт () у ПХП-у

Употреба функције усорт () у ПХП-у
У ПХП-у постоје многе уграђене функције за сортирање променљивих низа. функција усорт () је једна од њих. Ова функција сортира низ користећи кориснички дефинисану функцију повратног позива. Када низ садржи одређену врсту података који се не могу сортирати на стандардни начин употребом других функција сортирања, тада је боље користити усорт (). На пример, ако низ садржи вредности података, сорта се не може на одговарајући начин сортирати користећи друге функције сортирања у ПХП-у. Овај тип колекције може се сортирати дефинирањем одговарајуће кориснички дефинисане функције која се позива у другом аргументу функције усорт () како функција усорт () може сортирати одређене вриједности низа приказане у овом водичу.

Синтакса:

Синтакса функције усорт () дата је у наставку.

Логичко усорт (низ $ арраи, повратни позив ())

Ова функција има два аргумента. Оба аргумента су обавезна. Први аргумент узима низ који ће бити сортиран. Функција повратног позива () упоређује вредности низа да би сортирала низ и враћа нумеричку вредност. Ако су аргументи функције цаллбацк () једнаки, тада ће функција вратити 0. Ако је први аргумент функције цаллбацк () већи од другог, вратит ће 1. Ако је први аргумент функције цаллбацк () мањи од другог аргумента, враћа -1. функција усорт () враћа труе за успешно сортирање и враћа фалсе за неуспешно сортирање. Неке употребе ове функције приказане су у следећем делу овог водича.

Пример-1: Сортирање низа вредности датума

Следећи пример показује како се низ вредности датума може правилно сортирати помоћу функције усорт (). Направите ПХП датотеку помоћу следеће скрипте. $ дате_арраи дефинисан је вредностима од пет дана. сорт_дате () функција је декларисана као функција повратног позива за сортирање $ дате_арраи. Вредности низа се штампају пре позивања функције усорт (). Када се функција усорт () позове са низом и функцијом повратног позива, претвориће две вредности датума у ​​вредности временске ознаке помоћу функције стртотиме (). Ако су две вредности временске ознаке једнаке, тада ће функција вратити 0. Ако је прва временска ознака већа од друге временске ознаке, функција ће вратити 1. Ако је вредност прве временске ознаке нижа од вредности друге временске ознаке, функција ће вратити -1. функција усорт () позваће функцију повратног позива више пута док се $ дате_арраи је правилно сортирано. Затим ће се сортирани низ одштампати помоћу за сваког петља.

// Дефинисање функције повратног позива
функција сорт_дате ($ а, $ б)
врати стртотиме ($ а) - стртотиме ($ б);

// Декларишите низ вредности датума
$ дате_арраи = низ ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Штампање вредности низа пре сортирања
одјек "

Вредности низа датума:

";
фореацх ($ дате_арраи као $ вредност)

ецхо $ валуе."
";

// Сортирање низа помоћу усорт ()
усорт ($ дате_арраи, "сорт_дате");
// Штампање низа након сортирања
одјек "

Излаз након сортирања низа датума:

";
фореацх ($ дате_арраи као $ вредност)

ецхо $ валуе."
";

?>

Излаз:

Следећи излаз ће се појавити након покретања скрипте са сервера.

Пример-2: Сортирање асоцијативног низа

Следећи пример показује како се асоцијативни низ може сортирати помоћу функције усорт (). Направите ПХП датотеку помоћу следеће скрипте. сорт_намес () функција се проглашава функцијом повратног позива за сортирање низа на основу вредности низа. Тернарни оператор се користи у сорт_намес () функција за упоређивање вредности асоцијативног низа. Ако су две вредности једнаке, функција повратног позива вратиће 0. Ако је вредност првог аргумента већа од вредности другог аргумента, тада ће функција повратног позива вратити 1. Ако је вредност првог аргумента мања од вредности другог аргумента, тада ће функција повратног позива вратити -1. усорт () ће сортирати низ помоћу функције повратног позива, а сортирани низ ће се одштампати помоћу за сваког петља.

// Дефинишите функцију за сортирање асоцијативног низа
име функције сортирања ($ а, $ б)
врати $ а == $ б ? 0: $ а> $ б ? 1: -1;

// Дефинишите асоцијативни низ
$ персонс = арраи ("1001" => "Меера Али", "1002" => "Кабир Хоссаин", "1003" => "Нурјахан Актер");
// Сортирај низ
усорт ($ персонс, "сорт_намес");
// Штампање сортираног низа
одјек "Вредности сортираног низа:
";
фореацх ($ особа као $ особа)
ецхо $ персон. "
";
?>

Излаз:

Следећи излаз ће се појавити након покретања скрипте са сервера.

Пример-3: Сортирање дводимензионалног низа

Следећи пример показује како се дводимензионални низ може сортирати помоћу функције усорт (). Направите ПХП датотеку помоћу следеће скрипте. сорт_арраи () функција се проглашава функцијом повратног позива за сортирање низа на основу вредности низа. функција стрцмп () користи се у функцији повратног позива за упоређивање вредности низа. Ако су две вредности једнаке, тада ће функција стрцмп () вратити 0. Ако је вредност првог аргумента већа од вредности другог аргумента, тада ће функција стрцмп () вратити 1. Ако је вредност првог аргумента мања од вредности другог аргумента, тада ће функција стрцмп () вратити -1. усорт () ће сортирати низ помоћу функције повратног позива, а структура сортираног низа ће се исписати помоћу принт_р () функцију.

// Дефинисање функције за сортирање дводимензионалног низа
функција сорт_арраи ($ а, $ б)

врати стрцмп ($ а ['а'], $ б ['а']);

// Декларишите дводимензионални низ
$ животиње = низ (низ ("а" => "Лав"), низ ("а" => "Јелен"), низ ("а" => "Зец"), низ ("а" => "Мајмун "));
// Сортирај низ
усорт ($ животиње, "сорт_арраи");
// Штампање сортираног низа
одјек "Вредности низа након усорт ():
";
принт_р ($ животиње);
одјек "
";
?>

Излаз:

Следећи излаз ће се појавити након покретања скрипте са сервера.

Закључак:

усорт () је корисна функција за сортирање одређених врста података који не могу правилно сортирати ПХП-ове нормалне функције сортирања. Функција повратног позива функције усорт () дефинисана је на основу врста вредности које су потребне за сортирање. Овај водич ће помоћи читаоцима да знају како да користе функцију усорт () и примене је у својој скрипти на основу захтева.

Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...
0 А.Д. Приручник
Од многих стратешких игара тамо, 0 А.Д. успева да се истакне као свеобухватан наслов и врло дубока, тактичка игра упркос томе што је отворен извор. Ра...
Водич за Унити3Д
Увод у Унити 3Д Унити 3Д је моћан мотор за развој игара. То је унакрсна платформа која вам омогућава да креирате игре за мобилне уређаје, веб, стоне р...