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

PHP

Ikkinchi variantda $talaba["yosh"] o’zini o’zi tushuntiradi.

Kalit orqali ishlash

PHP

Mavjud bo’lmagan kalitga qiymat berilsa — yangi element yaratiladi.

Kalit mavjudligini tekshirish

PHP

Tekshiruvsiz murojaat ogohlantirish beradi:

PHP

Element o’chirish

PHP

Oddiy massivdan farqli, bu yerda unset muammo tug’dirmaydi — kalitlar raqam emas.

foreach bilan yurish

PHP

str_pad matnni belgilangan uzunlikka to’ldiradi — jadval ko’rinishi uchun.

Kalit va qiymatlarni ajratish

PHP

in_array qiymatlar orasidan izlaydi, array_search esa mos kalitni qaytaradi.

Saralash

Assotsiativ massivda kalit bog’lanishini saqlash muhim:

PHP
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:

PHP

Bu naqsh ma’lumotlar bazasidan kelgan yozuvlar uchun standart.

Ustun ajratish

PHP

array_column ro’yxatdan bitta ustunni ajratadi; uchinchi argument bilan kalit ham belgilanadi.

Sanash naqshi

PHP

?? operatori birinchi uchrashda 0 beradi. PHP’da bu ish uchun tayyor array_count_values ham bor.

Amaliy misol — savat

PHP

printf formatlangan chiqish beradi: %-6s — 6 belgi kenglikda chapga tekislangan matn, %2d — 2 belgi kenglikda son.

Amaliy mashq

  1. Uch kalitli assotsiativ massiv yarating;
  2. yangi kalit qo’shing va bittasini unset qiling;
  3. ?? bilan mavjud bo’lmagan kalitni xavfsiz o’qing;
  4. foreach ($m as $k => $v) bilan hammasini chiqaring;
  5. asort va ksort natijasini solishtiring;
  6. ichma-ich massiv yasab, array_column bilan 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_exists yoki ?? bilan tekshiring.
  • asort/arsort qiymat bo’yicha, ksort/krsort kalit bo’yicha saralaydi.
  • Oddiy sort kalitlarni 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.

Bu dars foydali bo'ldimi?

marta ko'rildi