PHP'de Çok Boyutlu Dizi [Örneklerle]
Yayınlanan: 2020-11-24PHP'de değerleri depolamaktan bahsettiğimizde, kelime dizisi hakkında konuşuruz. Birden çok değeri saklamak için görevi gerçekleştirmenin iki yolu vardır. Bir yol, her değeri tek bir değişkene atamak, diğeri ise çok daha verimli bir yol, tek bir değişkene birden çok değer atamak. Dizi dediğimiz şey budur.
Dizi, birden çok değeri tek bir değişkende saklamanın bir yoludur. Diziler, bu nedenle, programlama topluluklarının go-to araçlarının önemli bir parçasını oluşturur. Diziler hem sayısal hem de dize değerlerini depolayabilir ve birden çok boyuta sahip olabilir.
Bu nedenle, PHP'de birden fazla boyutu olan bir diziye çok boyutlu dizi denir , bundan makalenin ilerleyen kısımlarında uygulamalı örneklerle ayrıntılı olarak bahsedeceğiz.
Dizinin ne olduğunu ve boyutlarını daha iyi anlamak için bir örnek üzerinden gidelim.
Bir süpermarkete gittiğinizi ve bir paket bisküvi aldığınızı varsayalım. Paketi açtığınızda bisküviler arka arkaya dizilir. Bu, doğrusal bir biçimde düzenlendikleri anlamına gelir ve bu nedenle bu, tek boyutlu bir dizi örneğidir.
Ardından, bir paket çeşitli kuru meyve almayı düşünüyorsunuz. Şimdi paketi açtığınızda, farklı kuru meyvelerin tutulduğu kutunun hem eni hem de uzunluğu boyunca yuvalar var. Bu, kutunun diziyi temsil ettiği ve yuvalardaki kuru meyvelerin öğeleri oluşturduğu iki boyutlu bir dizi örneğini oluşturur.

Okuyun: PHP Proje Fikirleri ve Konuları
Dizilerden bahsettiğimizde, onlardan iki terimle bahsederiz – bir dizinin türü nedir ve onun özellikleri veya nitelikleri nelerdir. Dizinin türü, boyutlarıyla tanımlanır. Bu nedenle iki tür vardır: PHP'de tek boyutlu veya tek boyutlu ve çok boyutlu dizi .
Yukarıdaki örneklerde zaten açıklandığı gibi, bir dizinin boyutları hakkında bir fikir edinmiş olmalısınız. Bu nedenle, tek boyutlu bir dizi olan bir öğeye erişmek için yalnızca bir dizine ihtiyacınız vardır.
Ancak PHP'de çok boyutlu bir dizideki bir öğeye erişmek için iki boyutlu diziler için iki, üç boyutlu diziler için üç dizin vb. gerekir. Böylece, çok boyutlu bir dizi, duruma göre bir dizi dizi veya alt dizi olarak tanımlanır.
Bir dizinin özellikleri, sayısal veya ilişkisel olarak sınıflandırılabilir.
- Sayısal dizi , dizide depolanan öğelerine erişmek için sayıları kullanan bir dizidir.
- İlişkili dizi , depolanan öğelere erişmek için dizeleri veya adları kullanır. Örneğin, şirket sicilinden veya sunucusundan verilere erişmek için bir çalışanın adı.
Tek boyutlu bir sayısal diziyi tanımlamanın sözdizimi aşağıdadır:
<?php
$değişken adı = dizi('indeks no.' => 'eleman',…);
?>
Neresi,
'$değişken adı' dizinin adıdır
'dizin numarası.' saklanan öğenin dizinini ifade eder
'element' saklanan değeri ifade eder
Varsayılan dizin numarasının her zaman '0' ile başladığını unutmayın.
Bir örneğe bakalım
<?php
//Tek boyutlu sayısal dizi oluşturma programı
$Araba Markaları = dizi (0 => 'BMW',
1 => 'Land Rover',
2 => 'Ferrari',
3 => 'Ford',
4 => 'Toyota' );
Print_r($Araba Markaları);
?>
Çıktı:
Dizi
(
[0] => BMW
[1] => Land Rover
[2] => Ferrari
[3] => Ford
[4] => Toyota
)
Çıktıdan da görebileceğimiz gibi, otomobil markaları 0, 1, 2, …, vb. sayısal tuşlara atanır ve bunlara erişilir.
Tek boyutlu bir ilişkisel diziye bir göz atalım; aynı sözdizimi aşağıdadır:
<?php
$değişken adı = dizi( 'dize/anahtar' => 'eleman',…);
?>
Neresi,
'$değişken adı' dizinin adıdır

'string/key' saklanan öğenin kimliğini ifade eder
'element' saklanan değeri ifade eder
İşte ilişkisel tek boyutlu bir dizi örneği. Birkaç ülkenin ve bulundukları kıtanın adlarını saklamak istediğimizi varsayalım.
<?php
$Ülkeler = dizi(
“İtalya” => “Avrupa”,
“Hindistan” => “Asya”,
“Brezilya” => “Güney Amerika”
"Meksika" => "Kuzey Amerika",
);
echo “Meksika şurada” $Countries [“Meksika”];
?>
Çıktı:
Meksika Kuzey Amerika'da
Şimdi PHP'de çok boyutlu bir dizinin nasıl çalıştığını anlamanın zamanı geldi . İşte sözdizimi.
<?php
$değişken adı =dizi(
Array1( 'dize/anahtar' => 'eleman',…),
Array2( 'dize/anahtar' => 'eleman',…),…
);
?>
Dizileri gruplar veya örüntüler olarak düzenleyebiliriz. Örneğin araba modellerini vücut tiplerine göre sıralayabiliriz. İşte bir örnek kod.
<?php
$Araba gövde stilleri = dizi(
“SUV” => dizi( “Akrep”, “Harrier”, “Girit”, “Seltos”, “Fortuner”),
“Hatchback” => dizi( “Swift”, “Jazz”, “Tiago”, “i20”)'
“MPV” => dizi( “Ertiga”, “Innova”, “Kabile”)
);
Echo $Car gövde stilleri[“SUV”][3];
?>
Çıktı:
Girit
Bir önceki örneğe satış verilerini ekleyerek hızlıca üç boyutlu bir dizi oluşturalım.
<?php
$Araba gövde stilleri = dizi(
“SUV” => dizi(
“Akrep” => dizi(“20 Ocak” =>“4521”, “20 Şubat” => “3589”)),
“Harrier” => dizi(“20 Ocak” =>“1987”, “20 Şubat”=> “2356”)),
“Creta” => dizi(“20 Ocak” => “10459”, “20 Şubat” => “9887”)),
“Seltos” => dizi(“20 Ocak” => “12549”, “20 Şubat” => “13589”)),
“Fortuner” => dizi(“20 Ocak” => “1897”, “20 Şubat” => “1692”)),
),
“Hatchback” => dizi(
“Swift” => dizi(“20 Ocak” =>“19875”, “20 Şubat” => “18521”)),
“Caz” => dizi(“20 Ocak” =>“2451”, “20 Şubat”=> “2390”)),
“Tiago” => dizi(“20 Ocak” => “6587”, “20 Şubat” => “8850”)),
),
“MPV” => dizi(
“Ertiga” => dizi(“20 Ocak” =>“5680”, “20 Şubat” => “4920”)),
“Innova” => dizi(“20 Ocak” =>“2540”, “20 Şubat”=> “2135”)
);
Echo “20 Ocak ayı için Girit satışları” $Car gövde stilleri[“SUV”][“Girit”][“20 Ocak”];
?>

Çıktı:
Girit'in 20 Ocak ayı otomobil satışları 10459.
Mutlaka Okuyun: PHP Mülakat Soruları ve Cevapları
Çözüm
Dolayısıyla, dizilerin verimli ve esnek bir veri depolama ve erişim biçimi olduğu sonucuna varabiliriz. Diziler ihtiyaca göre uzatılabilir veya sıkıştırılabilir, bu da kolay modifikasyona izin verir. İlişkili çok boyutlu diziler, ilgili verileri birlikte gruplandırmamıza yardımcı olur. Bunun dışında diziler, düzenli ve temiz bir kod elde etmede yardımcı olur. Ayrıca, bir dizi üzerinde sıralama, sayma vb. gibi bir dizi işlem gerçekleştirebilirsiniz.
PHP, full-stack yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje sunan Full-stack Yazılım Geliştirme PG Diplomasına göz atın , ve ödevler, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.