2 Boyutlu Dizi Oluşturma
Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 27 / 68.
Çok boyutlu bir dizi, basitçe diğer dizileri eleman olarak içeren bir dizidir. En yaygın türü, bir elektronik tabloya veya bir oyun tahtasına benzer şekilde, satır ve sütunlardan oluşan bir ızgara olarak düşünebileceğiniz 2D (iki boyutlu) bir dizidir.
PHP'de 2 boyutlu bir dizi oluşturmak oldukça basittir; her bir öğesi kendisi de bir dizi olan bir dizi oluşturursunuz:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>Bu, her bir iç dizinin bir satırı ve bu dizilerdeki her bir öğenin bir sütunu temsil ettiği 3x3'lük bir ızgara oluşturur. Ayrıca farklı veri türlerine sahip 2D diziler de oluşturabilirsiniz:
<?php
$scores = [
[85, 92, 78],
[90, 88, 95],
[76, 84, 89]
];
?>PHP ayrıca, belirli bir değerle doldurulmuş bir diziyi hızlıca oluşturmanıza olanak tanıyan array_fill() adlı yerleşik bir fonksiyon sunar. Üç argüman alır: başlangıç indeksi, eleman sayısı ve doldurulacak değer:
<?php
// array_fill(başlangıç_indeksi, eleman_sayısı, değer)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>Verimli bir şekilde 2D bir dizi oluşturmak için array_fill() fonksiyonunu kendisiyle birleştirebilirsiniz. Örneğin, her hücresinin 0 ile başladığı 3x3'lük bir ızgara oluşturmak için:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Sonuç: her öğesi 0 olan 3x3'lük bir dizi
?>Çok boyutlu diziler; oyun tahtaları, bilgi tabloları veya verileri bir ızgara formatında temsil etmeniz gereken herhangi bir senaryo gibi yapılandırılmış verileri düzenlemek için inanılmaz derecede kullanışlıdır. İlişkili bilgilerin satır ve sütunlarıyla çalışmak için doğal bir yol sağlarlar.
Görev
KolayBir 2D dizinin boyutlarını ve başlangıç değerini temsil eden üç girdi alacaksınız: satır sayısı, sütun sayısı ve her bir konumu dolduracak bir değer. Bu girdileri okuyun, her bir öğesi verilen değere ayarlanmış belirtilen boyutlarda bir 2D dizi oluşturun ve diziyi print_r() kullanarak yazdırın.
Giriş formatı:
- Birinci satır: Satır sayısı (tam sayı)
- İkinci satır: Sütun sayısı (tam sayı)
- Üçüncü satır: Her bir öğe için başlangıç değeri (dize)
Beklenen çıktı: print_r() kullanılarak görüntülenen oluşturulmuş 2D dizi
Kendin dene
<?php
// Girdiyi oku
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// TODO: 2D diziyi oluşturmak için kodunuzu aşağıya yazın
// Sonucu yazdır
print_r($array);
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1İleri Seviye Fonksiyonlar
Anonim FonksiyonlarClosure'lar ve 'use'Ok Fonksiyonları (Arrow Functions)Geri Çağırma (Callback) Fonksiyonları'call_user_func' KullanımıDeğişken FonksiyonlarReferans ile Değer AktarımıÖz Yinelemeli (Recursive) FonksiyonlarÖzet: Fonksiyon Karması4Çok Boyutlu Diziler
2 Boyutlu Dizi Oluşturma2 Boyutlu Dizi Elemanlarına Erişme2 Boyutlu Dizi Elemanlarını Değiştirmeİç İçe Döngülerle Yineleme2 Boyutlu İlişkisel DizilerÖzet: Basit Izgara Egzersizi2İleri Düzey Dizi İşlemleri
'array_push' ile Ekleme'array_pop' ile Silme'array_unshift' ile Ekleme'array_shift' ile Silmeİndisli Dizileri Birleştirmeİlişkisel Dizileri Birleştirme'array_slice' ile Kesit Alma'in_array' ile Değer Kontrolü'array_search' ile Anahtar AramaÖzet: Çalma Listesi Alıştırması3Dizileri Sıralama
İndisli Dizileri Artan Sırada Sıralamaİndisli Dizileri Azalan Sırada Sıralamaİlişkisel Dizileri Değere Göre Sıralamaİlişkisel Dizileri Anahtara Göre SıralamaDoğal Sıralama (Natural Order)'usort' ile Özel SıralamaÖzet: Liderlik Tablosu Sıralama