PHP assotsiativ massivlar (kalit va qiymat)
Oddiy massivda element raqam bilan topiladi: $talaba[0].
Ammo 0 nimani anglatishi kodda ko’rinmaydi. Assotsiativ massiv raqam
o’rniga ma’noli nom ishlatadi.
Muammo va yechim
Ikkinchi variantda $talaba["yosh"] o’zini o’zi tushuntiradi.
Kalit orqali ishlash
Mavjud bo’lmagan kalitga qiymat berilsa — yangi element yaratiladi.
Kalit mavjudligini tekshirish
Tekshiruvsiz murojaat ogohlantirish beradi:
Element o’chirish
Oddiy massivdan farqli, bu yerda unset muammo tug’dirmaydi — kalitlar
raqam emas.
foreach bilan yurish
str_pad matnni belgilangan uzunlikka to’ldiradi — jadval ko’rinishi uchun.
Kalit va qiymatlarni ajratish
in_array qiymatlar orasidan izlaydi, array_search esa mos
kalitni qaytaradi.
Saralash
Assotsiativ massivda kalit bog’lanishini saqlash muhim:
| Funksiya | Nima bo’yicha | Tartib |
|---|---|---|
asort |
qiymat | o’sish |
arsort |
qiymat | kamayish |
ksort |
kalit | o’sish |
krsort |
kalit | kamayish |
Ichma-ich tuzilma
Haqiqiy ma’lumot ko’pincha ko’p qavatli bo’ladi:
Bu naqsh ma’lumotlar bazasidan kelgan yozuvlar uchun standart.
Ustun ajratish
array_column ro’yxatdan bitta ustunni ajratadi; uchinchi argument bilan
kalit ham belgilanadi.
Sanash naqshi
?? operatori birinchi uchrashda 0 beradi. PHP’da bu ish uchun tayyor
array_count_values ham bor.
Amaliy misol — savat
printf formatlangan chiqish beradi: %-6s — 6 belgi kenglikda chapga
tekislangan matn, %2d — 2 belgi kenglikda son.
Amaliy mashq
- Uch kalitli assotsiativ massiv yarating;
- yangi kalit qo’shing va bittasini
unsetqiling; ??bilan mavjud bo’lmagan kalitni xavfsiz o’qing;foreach ($m as $k => $v)bilan hammasini chiqaring;asortvaksortnatijasini solishtiring;- ichma-ich massiv yasab,
array_columnbilan ustun ajrating.
Qisqacha xulosa
- Assotsiativ massivda kalit ma’noli nom bo’ladi:
$t["ism"]. - Mavjud bo’lmagan kalitga qiymat berilsa — yangi element yaratiladi.
- Kalitni
isset,array_key_existsyoki??bilan tekshiring. asort/arsortqiymat bo’yicha,ksort/krsortkalit bo’yicha saralaydi.- Oddiy
sortkalitlarni yo’q qiladi. array_keys,array_values,array_column— ma’lumot ajratish uchun.- Ichma-ich massiv — bazadan kelgan yozuvlar uchun standart shakl.
Keyingi darsda matn funksiyalari — string bilan ishlash.