Lola
|
Karim
|
Vasila
|
Akmal
|
Botir
|
0 1 2 3 4
Toshkent
|
Moskva
|
Parij
|
Berlin
|
London
|
$poytaxt=
Uzbekiston Rossiya Fransiya Germaniya Angliya
Assotsiativ massiv
$poytaxt["Uzbekiston"]="Toshkent";
$poytaxt["Rossiya"]="Moskva";
$poytaxt["Fransiya"]="Parij";
$poytaxt["Germaniya"]="Berlin";
$poytaxt["Angliya"]="London"; echo $poytaxt["Fransiya"];
?>
Натижа: Parij
Shu davlatlarni aholisi sonini ham massiv sifatida berishimiz
mumkin.
- misol. PHP da assotsiativ massivlarni ishlatilishi
$poytaxt["Uzbekiston"]="Toshkent";
$poytaxt["Rossiya"]="Moskva";
$poytaxt["Fransiya"]="Parij";
$poytaxt["Germaniya"]="Berlin";
$poytaxt["Angliya"]="London";
$aholisi=array ("Uzbekiston"=>"25", "Rossiya"=>"150", "Fransiya"=>"40", "Germaniya"=>"35", "Angliya"=>"35");
echo "Uzbekistonning poytaxti $poytaxt["Uzbekiston"], aholisi $aholisi["Uzbek iston"] mln kishidan iborat.";
?>
Натижа: Uzbekistonning poytaxti Toshkent, aholisi 25 mln kishidan iborat.
Ko‘p o‘lchovli massiv
Massiv kalit va qiymatlarni o‘zida mujassamlashtirgan oddiy ro‘yxatdan iborat bo‘lishi shart emas, balki massiv yacheykasi o‘zida boshqa massivlarni ham saqlashi mumkin. Bunday massivlar ko‘p o‘lchovli massivlar deyiladi. Bu massivda aralash (sonli va assotsiativ) indekslashga ruxsat beriladi.
Ko‘p o‘lchovli massiv sifatida, ikki o‘lchovli massivlarni ham yaratish mumkin. Ikki o‘lchovli massiv kengligi va balandligi satrlar va ustunlarga akslanuvchi matritsa yoki jadval ko‘rinishida bo‘ladi.
-misol. Ko‘p o‘lchovli massivlarni ishlatilishi
Assotsiativ massiv
Uzbekiston Rossiya Fransiya Germaniya Angliya
Toshkent
|
Moskva
|
Parij
|
Berlin
|
London
|
$poytaxt=
Ko‘p o‘lchovli massiv
yili
|
rangi
|
yili
|
rangi
|
yili
2005
|
rangi
oq
|
yili
|
rangi
|
1999
|
oq
|
2003
|
qora
|
1999
|
qizil
|
Nexia Damas Matiz Tiko
$auto=
$auto massivini qaraydigan bo‘lsak, Nexia indeksli massiv qiymati boshqa bir massivga teng. Demak bu ko‘p o‘lchovli massivni PHP kodini yozib chiqamiz.
$auto["nexia"]= array("yili"=> "1999", "rangi"=> "oq");
$auto["damas"]= array("yili"=> "2003", "rangi"=> "qora");
$auto["matiz"]= array("yili"=> "2005", "rangi"=> "oq");
$auto["tiko"]= array("yili"=> "1999", "rangi"=> "qizil");
?>
Ko‘p o‘lchovli massiv elementlarini kiritdik. Endi shu massiv
elementlarini ekranga chiqazib ko‘ramiz.
$auto["nexia"]= array("yili"=> "1999", "rangi"=> "oq");
$auto["damas"]= array("yili"=> "2003", "rangi"=> "qora");
$auto["matiz"]= array("yili"=> "2005", "rangi"=> "oq");
$auto["tiko"]= array("yili"=> "1999", "rangi"=> "qizil");
echo "Matiz avtomobilini ishlab chiqarilgan yili - ". $auto["matiz"]["yili"];
?>
Натижа.
Matiz avtomobilini ishlab chiqarilgan yili – 2005
Massiv kalitlari
Agar kalit berilmagan bo‘lsa, u holda kalit o‘rniga kalitning eng katta qiymatiga 1 sonini qo‘shib yozib ketiladi. Kalit biror- bir qiymatga teng bo‘lsa, u holda o‘sha qiymat o‘zi yoziladi. PHP ning 4.3.0 dan keyingi versiyalarida kalitning eng katta qiymati manfiy son bo‘lsa, massivning keyingi qiymati nol(0) deb olinadi.
Agar kalit o‘rnida TRUE yoki FALSE qiymatlari ishlatilsa, u holda kalit tipi integer bo‘lgan 0 yoki 1 qiymatni beradi. Kalit o‘rnida NULL ishlatilsa, bo‘sh satrni beradi. Kalit o‘rnida bo‘sh satr ham ishlatilishi mumkin, faqat uni qo‘shtirnoq ichiga olib yozish kerak yoki alohida yozilganda bo‘sh to‘rtburchak qavs ishlatiladi. Kalit o‘rnida ob’ekt va massivlar ishlatilmaydi.
- misol. PHP da massivlarni ishlatilishi
// $arr va $arr1 massivlari ekvivalent
$arr = array(-3 => 43, 32, 56, 86, 97, "b" => 12);
$arr1 = array(-3 => 43, 0 => 32, 1 => 56, 2=> 86,
3 => 97, "b" => 12, "с" => true, " " => 28);
Echo $arr1[null];
?>
Agar yangi kalit va yangi qiymat
berilsa($name[‖new_key‖]=‖new_value‖), u holda massivga yangi element qo‘shilgan hisoblanadi. Agar biz kalitni ko‘rsatmasak, faqatgina qiymatga tenglasak, $name[]=‖new_value‖, u holda massivning yangi elementi sonli kalit bo‘lib, mavjud kalitning eng katta qiymatidan bir qiymatga oshgan bo‘ladi.
$name=array(2=>5, 3=>6,4=>15);
$name[] = value1;
/* qiymati value1 kaliti 5 (bizda kalitning eng katta qiymati 4 bo`lganligi uchun)ga teng massiv kiritdik */
echo $name;
?>
Massivning elementini o‘zgartirish uchun, kalitini yangi qiymatga
tenglashtirish yetarli. Massiv kalitini o‘zgartirish mumkin emas, faqatgina element(kalit/qiymat juftligini)ni o‘chirib yuborish va yangisini kiritish mumkin. Massiv elementini o‘chirish uchun, unset() funksiyasidan foydalaniladi.
$name=array(2=>5, 3=>6,4=>15);
$name[] = value1;
Do'stlaringiz bilan baham: |