Massivlar. Assotsativ massivlar



Download 283,43 Kb.
Pdf ko'rish
bet6/11
Sana29.12.2021
Hajmi283,43 Kb.
#78573
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Massivlar

Massivlarni saralash. 

 Turli  xil  masalalarni  yechishda  tez-tez  massiv  ko'rinishida  saqlanayotgan 

ma’lumotlarni  saralash  zarur  bo‘lib  turadi.  Agar  bu  masalani  Si  da  yechmoqchi 

bo’lsak, u  holda  o‘ntagacha  kod  satrlari  yozish kerak boladi, PHP da esa  bu bitta 

oddiy buyruq bilan amalga oshiriladi. 

 

Ko‘p o’lchovli massivlarni saralash 

Massivlarni saralashda, bitta o‘zgartirish kiritish yordamida ularning tartibini 

alifbo  yoki  raqamli  tartibga  o‘tkazish  mumkin.  PHP  da  ikkita  son  yoki  ikkita 




matnli  satrni  taqqoslash  imkoniyati  mavjud,  biroq  ko‘p  o‘lchovli  massivlarning 

elementlari ham massivdan iborat. PHP ning ikkita massivni taqqoslash imkoniyati 

mavjud  emas,  shuning  uchun  ularni  taqqoslashda  metodlar  yaratish  zarur. 

Massivlarni  foydalanuvchi  tomonidan  aniqlangan  funksiya  yordamida  saralash: 

usort(),uksort(),uasort().  Massiv  qiymatlarini  saralashni  oddiy  ikkita  yo‘li 

(kamayish  yoki  o‘sish  tartibi)  dan  tashqari  PH  P  da  foydalanuvchi  tomonidan 

berilgan biror-bir mezon (kriteriya) yordamida ham saralash mumkin. Bu mezonlar 

funksiya  yordamida  berilib,  funksiya  nomi  maxsus  usort()  yoki  uksort()  saralash 

funksiyalarida  parametr  sifatida  ko‘rsatiladi.  Ushbu  maxsus  funksiyalar 

foydalanuvchi  tomonidan  aniqlangan  funksiyalar  yordamida  mos  holda  usort() 

massiv elementlari qiymatlarini, uksort() esa - massiv kaliti qiymatlarini saralaydi. 

Bu ikkala funksiya ham agar saralash ijobiy yakun topsa, true ni, aks holda false ni 

qaytaradi. 

Sintaksisi:  

usort(massiv, saralovchi funksiya)  

uksort(massiv, saralovchi funksiya) 

Massivning har bir elementi uchun ixtiyoriy funksiyani qo‘llash. 

Ba’zan bir xil amalni massivning barcha elementlari uchun qoilash yoki ularni 

bir xil shaklda o‘zgartirish talab etiladi. Buning uchun array_walk() funksiyasidan 

foydalaniladi.  Sintaksisi:  int  array_walk(array  massiv,  string  funksiya  [,  mixed 

parametr])  Ko'rib  turganingizdek,  bu  funksiya  uchta  parametr  qabul  qiladi. 

Birinchisi, massiv — qayta ishlanishi lozim bo'Igan massiv. Ikkinchisi — funksiya 

—  massivning  har  bir  elementini  qabul  qiluvchi  foydalanuvchi  tomonidan 

aniqlangan  funksiya.  Uchinchi  parametr  —  zarur  bo'lmagan  parametr  bo'lib,  u 

ishlatilganda  foydalanuvchi  tomonidan  aniqlangan  funksiyaga  parametr  sifatida 

beriladi. Bu funksiya amallar muvaffaqiyatli yakunlanganda true ni, aks holda false 

ni  qaytaradi.  Qoidaga  ko'ra,  foydalanuvchi  tomonidan  aniqlangan  funksiyaning 

ikkita parametri mavjud bo'lib, bu ikki parametrga navbat bilan massivning har bir 

elementining qiymat va kalitlari beriladi. Agar array_walk() funksiyasiga murojaat 

etilganda,  uchinchi  parametr  ko'rsatilsa,  u  holda  bu  parametr  foydalanuvchi 

tomonidan  aniqlangan  funksiyaning  uchinchi  parametri  sifatida  qaraladi.  Agar 

foydalanuvchi  tomonidan  aniqlangan  funksiya  unga  berilgandan  ko'ra  ko'proq 

parametrlarni  talab  qilsa,  u  holda  array  walk()  ga  har  gal  murojaat  etilganda 

ogohlantirish haqida xabar chiqaziladi. 

Agar  massiv  qiymatlarining  nusxasi  bilan  emas,  balki  asli  bilan  ishlashga 

to'g'ri  kelinsa,  parametrni  funksiyaga  jo'natma  (ssilka)  sifatida  uzatish  kerak 

bo'ladi. Biroq, massivning elementlarini o'chirish yoki qo'shish va massiv tarkibini 

o'zgartiruvchi  harakatlarni  amalga  oshirish  mumkin  emas,  chunki  bu  holda 

array_walk() ishining natijasi noaniq bo'ladi. 


Download 283,43 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish