КампутарыПраграмаванне

Як робіцца сартаванне масіваў?

Часта пры вырашэнні пэўных задач патрабуецца зрабіць сартаванне дадзеных, якія захоўваюцца ў масіве. Што такое сартаванне масіваў? Вось, напрыклад, гуляючы ў прэферанс, людзі раскладваюць свае карты па значэнні і масці. Гэта дае магчымасць вызначыць, якіх яшчэ карт ім не хапае. А ў слоўніках ўсе упарадкоўваецца па алфавіце. Прыкладаў можна прывесці шмат. Сартаванне - перагрупоўка пэўнага мноства аб'ектаў у якім-небудзь парадку па зададзенай прыкмеце. Сартаванне масіваў патрабуецца даволі часта. Для гэтага ўжываюцца розныя метады. Каб зразумець іх сутнасць, дастаткова разгледзець падрабязна некалькі спосабаў.

На аснове чаго робяць

Важна разумець, што масіў складаецца з шматлікіх пар ключоў і пэўных значэнняў. Сартаванне масіваў на мове Сі робіцца пры дапамозе дзясяткаў радкоў кода, а на мове PHP гэта дасягаецца толькі адной нескладанай камандай. Сартаванне масіваў магчымая на аснове ключоў або значэнняў. Яшчэ можна размяркоўваць значэння, пакінуўшы ім існуючыя ключы або прысвоіўшы новыя.

Галоўныя адрозненні функцый

Сартаванне масіва PHP магчымая пры дапамозе розных функцый. Давайце разгледзім, чым яны адрозніваюцца:

- Адны функцыі сартуюць масівы па ключах іх элементаў, а іншыя - па значэннях.

- Бывае розны парадак сартавання: змяншальны, нарастальны, натуральны, лікавы, алфавітны, пэўны карыстальнікамі або выпадковы.

- Некаторыя функцыі здольныя захоўваць пасля сартавання сувязь, існуючую паміж ключом і значэннем. Але ёсць функцыі, у якіх ключы скінулі ў новыя значэння.

- Кожная функцыя ажыццяўляе мадыфікацыю перададзенага масіва. Адсартавана копію яны не вяртаюць.

- Парадак сартавання лічыцца нявызначаным, калі функцыя вызначае два элемента, як роўныя. Гэта нестабільная сартаванне.

Некаторыя функцыі сартавання масіваў у PHP

Функцыі sort () і rsort (). Sort () парадкуе ў алфавітным парадку масіў. Звернем увагу: дадзеная функцыя адчувальная да рэгістра. Адбываецца сартаванне па значэннях без уліку ключоў. Rsort () сартуе ў зваротным парадку таксама па значэннях і не ўлічвае ключы.

Asort () - гэта адна з функцый, якая захоўвае адносіны ключоў і значэнняў. Яе карысна ўжываць для асацыятыўнага масіва, калі гэта важна.

У прыкладзе ключамі выбраны найменні садавіны, а значэння - гэта цэны. Сартаванне адбываецца па ўзрастанні цэны. Калі неабходная сартаванне па назвах садавіны, то патрэбна функцыя ksort (), якая робіць сартаванне па ключах. Arsort () ажыццяўляе сартаванне аднамерных масіваў з індэксамі (апісальнай) па змяншэнні значэнняў. Krsort () сартуе па змяншэнні ключоў элементаў.

двухмерных масіў

Цікавая сартаванне двухмернага масіва. Гэта можна рабіць па-рознаму. У PHP ёсць магчымасць параўноўваць два лікі ці дзве радка. Але ў любым шматмернага масіве кожны з элементаў уяўляе сабой масіў. У PHP, каб параўнаць некалькі масіваў, трэба стварыць пэўны метад. Разгледзім двухмерных масіў, у якім захоўваецца скарочаны назоў садавіны, поўная назва і кошт. Элементы масіва можна адсартаваць ў алфавітным парадку па скарочаным назвах.

У прыкладзе у нашай функцыі імя compare (параўнанне). У яе 2 аргументу - x, y. Функцыя павінна прыняць 2 значэння, пасля чаго вызначыць парадак. Параметры x, y - 2 масіва, якія знаходзяцца ўнутры y асноўнага масіва. Каб параўноўваць description-элементы з масіваў, што перададзеныя ў функцыю, патрэбныя зменныя $ x [1], $ y [1]. У радку return1 адбываецца вяртанне значэння коду, які выклікаў функцыю. У аснове сартавання нашага масіва функцыя usort (). Сартаванне ідзе па правілах, якія апісвае функцыя compare ().

Цяпер сартаванне масіваў у PHP стане для вас зразумелай.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.atomiyme.com. Theme powered by WordPress.