PHP da massivlarni saralash

A
Ishonchli SSL atigi 3.44 dollardan
PHP da massivlar
PHPda so'rov usuli va PHPda Super Globals

Oldingi qo'llanmada PHP massivlari biz indekslangan, assotsiativ va ko'p o'lchovli massivlarni e'lon qilish va takrorlash haqida bilib oldik. Ushbu maqolada biz PHP massivlarini saralashni chuqurroq o'rganamiz. Bundan tashqari, massivlar bilan ishlashni ancha osonlashtiradigan massiv bilan bog'liq funktsiyalarni muhokama qilamiz.

PHP 8 da biz massivni saralash uchun quyidagi funksiyalarga egamiz.

Funktsiya nomiBuyurtma bo'yicha saralash
saralash () Ortgan tartib
rsort()Kamayish tartibida
asort()Assotsiativ massivlar qiymatga ko'ra o'sish tartibida
ksort()Assotsiativ massivlar kalitga ko'ra, o'sish tartibida
arsort()Qiymatga ko'ra kamayish tartibi
krsort()Kalitga ko'ra, kamayish tartibi
PHP da massivlarni saralash funksiyalari jadvali

Saralash (massiv, saralash_turi)

Saralash funksiyasi massiv elementlarini o‘sish tartibida (pastdan yuqoriga) joylashtiradi. Agar massiv faqat bitta elementni o'z ichiga olsa, u bir xil massivni qaytaradi. Muvaffaqiyatli bo'lsa, u haqiqatga qaytadi. Boshqa barcha holatlarda u false qaytaradi.

<?php
$num = array(4, 8, 12, 16, 20);
sort($num);
?>

rSort(massiv, tartiblash_turi)

The rsort funktsiya tartiblash funktsiyasining teskarisidir. U massiv elementlarini kamayib boruvchi shaklda (yuqoridan pastgacha) joylashtiradi. Agar massiv faqat bitta elementni o'z ichiga olsa, u bir xil massivni qaytaradi.

<?php
$num=array(4,16,12,20,11);
rsort($num);
?>

asort (massiv, tartiblash_turi)

The assortiment funktsiya assotsiativ massiv elementlarini kalitlarning qiymatiga ko'ra o'sish tartibida joylashtiradi. Agar massiv bitta kalit va qiymat juftlaridan iborat bo'lsa, u bir xil massivni qaytaradi.

<?php
$age=array("apple"=>"1","pineapple"=>"2","orange"=>"3");
asort($age);
?>

ksort (massiv, tartiblash_turi)

The ksort funktsiya, shuningdek, assotsiativ massiv elementlarini o'sish tartibida, lekin kalitlarga ko'ra tartibga soladi. Agar massiv bitta kalit va qiymat juftidan iborat bo'lsa, u bir xil massivni qaytaradi.

<?php
$age=array("apple"=>"1","pineapple"=>"2","orange"=>"3");
ksort($age);
?>

arsort (massiv, saralash_turi)

The assortiment funktsiya assotsiativ massiv elementlarini qiymatlari bo'yicha kamayish tartibida joylashtiradi. Agar massiv bitta kalit va qiymat juftidan iborat bo'lsa, u bir xil massivni qaytaradi.

<?php
$age=array("apple"=>"1","pineapple"=>"2","grapefruit"=>"3");
asort($age);
?>

krsort(massiv, tartiblash_turi)

The krsort funktsiya assotsiativ massivning elementlarini kamayish tartibida, lekin tugmalar bo'yicha joylashtiradi. Agar massiv bitta kalit va qiymat juftidan iborat bo'lsa, u bir xil massivni qaytaradi.

<?php
$age=array("Jawad"=>"23","Abdullah"=>"14","Adil"=>"19");
ksort($age);
?>

Saralash funktsiyalaridagi ikkinchi parametr saralash_turi. Ushbu variantlardan birini qo'llash orqali siz natijani o'zgartirishingiz mumkin.

Saralash turiTavsif
0 = SORT_REGULARStandart. Elementlarni odatdagidek solishtiring (turlarini o'zgartirmang)
1 = SORT_NUMERIC Elementlarni raqamlar bilan solishtiring
2 = SORT_STRINGElementlarni satrlar sifatida solishtiring
3 = SORT_LOCALE_STRINGJoriy til asosida elementlarni qatorlar sifatida solishtiring
4 = SORT_NATURALTabiiy tartibdan foydalangan holda elementlarni qatorlar sifatida solishtiring
5 = SORT_FLAG_CASE
Saralash va rsort funksiyasidagi massivlarni saralash imkoniyatlari

Ushbu asosiy va o'rnatilgan massivlarni saralash funktsiyalaridan tashqari, foydalanuvchi PHPda o'zining tartiblash funktsiyasini ham belgilashi mumkin. Shunday qilib, ushbu bo'limda siz bu haqda bilib olasiz usort, uasort va uksort PHP da funksiyalar.

usort (massiv, mening_tartiblash_funktsiyam)

The usort funktsiya ikkita parametrni qabul qiladi. Birinchi parametr saralanadigan massiv, ikkinchi parametr esa foydalanuvchi tomonidan belgilangan funksiyadir.

<?php
function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$a=array(4,2,8,6);
usort($a,"my_sort");
?>

uasort (massiv, foydalanuvchi_ta'riflash_funktsiyasi)

Bu massivni (yoki assotsiativ massivni) foydalanuvchi tomonidan belgilangan funksiyaga ko‘ra saralaydi. The uasort funksiya assotsiativ massiv qiymatiga ko'ra tartiblashni amalga oshiradi. Kalitlar uchun bizda mavjud uksort funktsiyasi.

<?php
function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$arr=array("a"=>4,"b"=>2,"c"=>8,"d"=>6);
uasort($arr,"my_sort");
?>

uksort(massiv, foydalanuvchi_belgilangan_funksiya)

Assotsiativ massivni foydalanuvchi tomonidan belgilangan funksiya yordamida saralaydi. Uksort assotsiativ massivning kalitlari bo'yicha saralashni amalga oshiradi.

<?php
function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$arr=array("a"=>4,"b"=>2,"c"=>8,"d"=>6);
uksort($arr,"my_sort");
?>

PHP da massiv funktsiyalari

Massiv_sum

Bu funktsiya massiv qiymatlarining yig'indisini qaytaradi. U ikkala indekslangan massivni ham assotsiativ massiv sifatida qabul qiladi. Assotsiativ massiv bo'lsa, u qiymatlar yig'indisini qaytaradi.

<?php
$a=array(5,15,25);
echo array_sum($a);
?>

array_splice (massiv, ofset, uzunlik, almashtirish)

The array_splice funktsiya massivdan elementlarni olib tashlaydi va ularni yangi elementlar bilan almashtiradi.

Eslatma: unutmang array_splice funktsiya qaytarilgan qiymatdagi kalitlarni saqlamaydi.

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>

massiv_qidiruv(qiymat, massiv, qat'iy)

The array_search funktsiya belgilangan element uchun massivni qidiradi. Agar element topilsa, u kalitni qaytaradi.

Qattiq parametr bo'lishi mumkin haqiqiy or yolg'on. Agar rost bo'lsa, qidiruv qiymati bir xil turdagi ma'lumotlarga ega bo'lishi kerak. "5" qatori va 5 raqami qat'iy rostga teng bo'lsa, bir xil emas. Agar strict false ga o'rnatilgan bo'lsa array_search "5" va 5 ni bir xil deb hisoblaydi.

<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>

massiv_teskari (massiv, saqlash_kalitlari)

The massiv_teskari funktsiya massiv elementlarini teskari tartibda qaytaradi. Agar ikkinchi parametr rost bo'lsa, chiqishdagi kalitlar saqlanib qoladi.

<?php
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
?>

array_push(massiv, qiymat1, qiymat2, ...)

Bu funksiya elementlarni massivga suradi. Har bir qiymat vergul bilan ajratiladi va qiymat massiv ham bo'lishi mumkin.

<?php
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>

Eslatma: agar siz faqat bitta element qo'shmoqchi bo'lsangiz, undan foydalanish yaxshiroq va osonroq $massiv[].

array_pop()

Bu funksiya elementni massiv oxiridan olib tashlaydi va massivni bitta elementga qisqartiradi.

<?php
$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>

PHP 8 rasmiy uchun PHP massivlarini saralash ma'lumotnoma, bosing Bu yerga.

PHP da massivlar
PHPda so'rov usuli va PHPda Super Globals

Repetitor tarmog'i

bu baham

PHP tilini A dan Z gacha o'rganing