Massivlar PHPda ma'lumotlar bilan ishlashning kuchli vositasidir. Massivlar - bu dasturchilarga bir o'zgaruvchida bir nechta qiymatlarni saqlash va boshqarish imkonini beruvchi ma'lumotlar strukturasining bir turi. Ular nihoyatda moslashuvchan va ulardan asosiy ro'yxatlardan murakkab ma'lumotlar tuzilmalarigacha bo'lgan keng doiradagi ilovalarda foydalanish mumkin. Ushbu keng qamrovli qo'llanmada PHP massivlari bilan ishlashni o'rganish uchun bilishingiz kerak bo'lgan barcha narsalarni ko'rib chiqamiz.
PHP massivlari asoslarini tushunish
PHPda massivlarning ikkita asosiy turi mavjud: indekslangan va assotsiativ.
Indekslangan massivlar
Indekslangan massivlar bitta o'zgaruvchiga ko'p qiymatlar berish orqali amalga oshiriladi, ularning har biri o'z butun son indeksiga ega. Misol tariqasida:
$fruits = array("apple", "banana", "orange");
Bu misolda “olma” indeksi 0, “banan” indeksi 1 va “apelsin” indeksi 2. Bu qiymatlarga quyida ko‘rsatilganidek, massiv indeksi yordamida kirish mumkin:
echo $fruits[0]; // outputs "apple"
Assotsiativ massivlar
Aksincha, assotsiativ massivlar qiymatlarga kalitlarni (satrlar yoki raqamlar) belgilash orqali quriladi. Misol tariqasida:
$person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
Ushbu misolda "ism" "Jon Smit", "yosh" "30" va "manzil" "Main St. 123" ga o'rnatiladi. Ushbu qiymatlarga massiv tugmalari yordamida quyidagi tarzda kirish mumkin:
echo $person["name"]; // outputs "John Smith"
Massivlarni yaratish
PHP da massivlarni yaratishning bir necha usullari mavjud, jumladan:
- foydalanish
array()
Funktsiyasi - Kvadrat qavslardan foydalanish
[]
- foydalanish
range()
Funktsiyasi
foydalanish array()
vazifa
PHP da array() usuli massiv yaratishda eng koʻp qoʻllaniladigan usul hisoblanadi. Misol tariqasida:
$fruits = array("apple", "banana", "orange");
Kvadrat qavslardan foydalanish
Bundan tashqari, kvadrat qavslar yordamida massiv yaratishingiz mumkin []
PHP 5.4 va undan keyingi versiyalarida. Misol uchun:
foydalanish range()
vazifa
The range()
funktsiya belgilangan diapazonda raqamlar qatorini yaratadi. Misol uchun:
Bu 1 dan 10 gacha raqamlar qatorini yaratadi.
Array elementlariga kirish
Siz elementning indeksi yoki kaliti yordamida massivning elementlariga kirishingiz mumkin. Misol uchun:
$fruits = array("apple", "banana", "orange");
echo $fruits[0]; // outputs "apple"
$person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
echo $person["name"]; // outputs "John Smith"
Massiv elementlarini o'zgartirish
Siz element indeksiga yoki kalitiga yangi qiymat belgilash orqali massiv elementlarini o'zgartirishingiz mumkin. Misol uchun:
$fruits = array("apple", "banana", "orange");
$fruits[0] = "mango";
Bu misolda $fruits massivining 0 indeksidagi qiymat “olma”dan “mango”ga o'zgartirilgan.
Xuddi shunday, assotsiativ massivlar uchun:
$person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
$person["name"] = "Jane Doe";
$person massividagi “ism” kalitining qiymati ushbu misolda “Jon Smit”dan “Jeyn Doe”ga o'zgartirilgan.
Kengaytirilgan massiv manipulyatsiyasi
Massivlar asoslarini o‘zlashtirganingizdan so‘ng, massivlarni manipulyatsiya qilishning yanada murakkab usullariga o‘tishingiz mumkin.
Massivlarni saralash
PHP massivlarni saralash uchun bir qator o'rnatilgan funksiyalarga ega, jumladan sort(), usort() va ksort (). Ushbu usullarning har biri massiv elementlarini turlicha tartibga soladi va siz o'zingizning talablaringizga eng mos keladiganini tanlashingiz mumkin.
Masalan:
sort($fruits);
print_r($fruits);
Bu $fruits massivining elementlarini alifbo tartibida o'sish tartibida tartiblaydi.
Massivlarni birlashtirish va ulash
yordamida ikki yoki undan ortiq massivlarni birlashtira olasiz array_merge()
funktsiyasi, shunga o'xshash:
$fruits1 = array("apple", "banana");
$fruits2 = array("orange", "grapes");
$fruits = array_merge($fruits1, $fruits2);
Bu $fruits1 va $fruits2 dagi barcha yozuvlarni o'z ichiga olgan yangi massiv hosil qiladi. Quyida koʻrsatilganidek, massivdagi yozuvlarni oʻchirish uchun array splice() usulidan ham foydalanishingiz mumkin:
array_splice($fruits, 1, 1);
Bu $fruits massividan 1-indeksdagi elementni olib tashlaydi.
Massivlar orqali takrorlash
Siz massiv elementlarini for yoki foreach siklidan foydalanib takrorlashingiz mumkin, masalan:
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i];
}
or
foreach ($fruits as $fruit) {
echo $fruit;
}
Massivlarni filtrlash
dan foydalanib massiv elementlarini filtrlashingiz mumkin array_filter()
funktsiyasi, shunga o'xshash:
$filtered = array_filter($fruits, function ($fruit) {
return $fruit != 'banana';
});
Bu "banan" dan tashqari $fruits ning barcha elementlarini o'z ichiga olgan yangi massivni yaratadi.
Ichki massivlar bilan ishlash
Ichki massivlar bir yoki bir nechta boshqa massivlarni o'z ichiga olgan massivlardir. Ular murakkab ma'lumotlar tuzilmalarini saqlash uchun ishlatilishi mumkin.
Ichki massivlarni yaratish
Siz massivni boshqa massivning elementi sifatida kiritish orqali ichki qator yaratishingiz mumkin. Misol uchun:
$fruits = array("apple", "banana", array("orange", "grapes"));
Bu 3 ta elementdan iborat $fruits massivini yaratadi
, bu erda uchinchi element "apelsin" va "uzum" ni o'z ichiga olgan massivdir.
Ichki massivlardagi elementlarga kirish
Ichki massivdagi elementga kirish uchun siz o'rnatilgan massivning har bir darajasida element indeksini yoki kalitini kiritishingiz kerak. Misol tariqasida:
$fruits = array("apple", "banana", array("orange", "grapes"));
echo $fruits[2][0]; // outputs "orange"
Ichki massivlardagi elementlarni o'zgartirish
Ichki massivning har bir darajasidagi element indeksi yoki kalitini belgilash orqali siz ichki qatordagi elementni o'zgartirishingiz mumkin. Misol uchun:
$fruits = array("apple", "banana", array("orange", "grapes"));
$fruits[2][0] = "mango";
$fruits massivining uchinchi elementi (massiv) 0 indeksidagi qiymat bu misolda “apelsin”dan “mango”ga o'zgartirilgan.
Ichki massivlar orqali takrorlash
Siz ichki o'rnatilgan massivning elementlari bo'ylab ichki tsikllar yordamida takrorlashingiz mumkin. Misol uchun:
foreach ($fruits as $fruit) {
if (is_array($fruit)) {
foreach ($fruit as $subFruit) {
echo $subFruit;
}
} else {
echo $fruit;
}
}
Bu $fruits ichki o'rnatilgan massivning barcha elementlarini chiqaradi.
O'rnatilgan PHP massivi funktsiyalari
PHPda massivlar bilan ishlash uchun bir qator o‘rnatilgan funksiyalar mavjud. Quyida eng muntazam foydalaniladigan funksiyalar keltirilgan:
count()
: massivdagi elementlar sonini qaytaradisort()
: massiv elementlarini tartiblaydiimplode()
: massivni satrga aylantiradiexplode()
: satrni massivga aylantiradiarray_keys()
: massivning barcha kalitlarini qaytaradiarray_values()
: massivning barcha qiymatlarini qaytaradiarray_unique()
: massivdan takroriy qiymatlarni olib tashlaydi
PHP massivlari bilan ishlashning eng yaxshi amaliyotlari
- To'g'ri ma'lumot turini tanlash: massivingiz uchun to'g'ri ma'lumot turini tanlash muhim, chunki u ishlash va xotiradan foydalanishga katta ta'sir ko'rsatishi mumkin.
- Ishlashni optimallashtirish: Katta massivlardan foydalanish yoki ular ustida murakkab operatsiyalarni bajarishdan saqlaning, chunki ular ishlash bilan bog'liq muammolarga olib kelishi mumkin.
- Xatolarni qayta ishlash va disk raskadrovka: massivlar bilan ishlashda har doim xatolarni tekshiring va kodingizni disk raskadrovka qiling.
- Xavfsizlik masalalari: SQL in'ektsiyasi va saytlararo skript kabi massivlar bilan ishlashda mumkin bo'lgan xavfsizlik muammolaridan xabardor bo'ling.
Massivlardan foydalanishning haqiqiy misollari
- Ma'lumotlarni saqlash va ma'lumotlar bazasidan olish: Massivlar ko'pincha ma'lumotlar bazasidan olingan ma'lumotlarni saqlash uchun ishlatiladi va keyin ularni veb-sahifada ko'rsatish uchun ishlatiladi.
- Asosiy vazifalar roʻyxati ilovasini ishlab chiqish: Vazifalar roʻyxati ilovasida massivlar vazifalar roʻyxatini saqlash va boshqarish uchun ishlatilishi mumkin.
- Kontakt formasini yaratish: massivlar kontakt formasi orqali yuborilgan ma'lumotlarni saqlash va tekshirish uchun ishlatilishi mumkin.
- Oddiy xarid qilish savatini yaratish: Massivlar savatdagi narsalarni saqlash va boshqarish uchun ishlatilishi mumkin.
Savol-javob
Savol: PHPda massivlarning ikkita asosiy turi nima?
Javob: PHPda massivlarning ikkita asosiy turi indekslangan massivlar va assotsiativ massivlardir.
Savol: PHP da indekslangan massivni qanday yaratasiz?
Javob: PHP da indekslangan massiv yaratish uchun siz foydalanishingiz mumkin array()
funksiya yoki kvadrat qavs []
PHP 5.4 va undan keyingi versiyalarida. Misol uchun: $fruits = array("apple", "banana", "orange");
Savol: Indekslangan massivdagi elementga qanday kirish mumkin?
Javob: Indekslangan massivdagi elementga kirish uchun siz element indeksidan foydalanishingiz mumkin. Misol uchun: $fruits = array("apple", "banana", "orange"); echo $fruits[0]; // outputs "apple"
Savol: PHP da assotsiativ massivni qanday yaratasiz?
Javob: PHP da assotsiativ massiv yaratish uchun siz foydalanishingiz mumkin array()
funksiya va qiymatlarga kalitlarni tayinlash. Misol uchun: $person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St.");
Savol: Assotsiativ massivdagi elementga qanday kirish mumkin?
Javob: Assotsiativ massivdagi elementga kirish uchun element kalitidan foydalanishingiz mumkin. Misol uchun: $person = array("name" => "John Smith", "age" => 30, "address" => "123 Main St."); echo $person["name"]; // outputs "John Smith"
Savol: Ichki massiv nima?
Javob: Ichki massiv bu ichida bir yoki bir nechta massivni o'z ichiga olgan massivdir. Ular murakkab ma'lumotlar tuzilmalarini saqlash uchun foydalidir.
Savol: Ichki massiv orqali qanday takrorlash mumkin?
Javob: Ichki massivni takrorlash uchun siz o'rnatilgan tsikllardan foydalanishingiz mumkin. Misol uchun: foreach ($fruits as $fruit) { if (is_array($fruit)) { foreach ($fruit as $subFruit) { echo $subFruit; } } else { echo $fruit; } }
Savol: PHP da massivni saralash funksiyasi nima?
Javob: PHPda massivni saralash uchun o'rnatilgan funksiya sort()
. Masalan: sort($fruits);
Savol: PHP da massivdan dublikatlarni olib tashlash funksiyasi qanday?
Javob: PHPda massivdan dublikatlarni olib tashlash uchun o'rnatilgan funksiya array_unique()
. Masalan: $unique = array_unique($fruits);
Savol: PHP massivlari bilan ishlashda qanday eng yaxshi amaliyotlarni yodda tutish kerak?
Javob: PHP massivlari bilan ishlashda eng yaxshi amaliyotlar qatoriga tegishli ma’lumotlar turini tanlash, samaradorlikni oshirish, xatolarni boshqarish va disk raskadrovka qilish hamda har qanday xavfsizlik xatarlariga e’tibor berish kiradi.
mashqlar
- 1 dan 10 gacha raqamlardan iborat massiv yarating.
- Massivning uchinchi a'zosini chiqarish uchun skript yarating.
- Massiv oxiriga 5 qo‘shiladigan skript yarating.
- Massivni eng katta qiymat uchun qidiradigan va uni o'zgaruvchiga qo'yadigan skript yarating.
- Massivni kamayish bo‘yicha tartiblovchi skript yarating.
javoblar:
- $raqamlar = diapazon (1,10);
- echo $massiv[2];
- $massiv[] = 5;
- $eng yuqori = max($massiv);
- rsort($massiv);