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 dizi, öğeleri olarak başka diziler içeren bir dizidir. En yaygın tür, satırları ve sütunları olan, elektronik tabloya veya oyun tahtasına benzeyen bir ızgara olarak düşünebileceğiniz 2B dizidir.
PHP'de 2B dizi oluşturmak oldukça basittir. Her bir öğenin kendisinin de bir dizi olduğu bir dizi oluşturursunuz:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>Bu, her iç dizinin bir satırı ve bu dizilerdeki her öğenin bir sütunu temsil ettiği 3x3'lük bir ızgara oluşturur. Farklı veri türleriyle 2B diziler de oluşturabilirsiniz:
<?php
$scores = [
[85, 92, 78],
[90, 88, 95],
[76, 84, 89]
];
?>PHP ayrıca belirli bir değerle doldurulmuş bir array oluşturmanızı sağlayan array_fill() adlı yerleşik bir işlev de sunar. Üç bağımsız değişken alır: başlangıç dizini, öğe sayısı ve doldurulacak değer:
<?php
// array_fill(start_index, num_elements, value)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>2B bir diziyi verimli bir şekilde oluşturmak için array_fill() işlevini kendi içinde kullanabilirsin. Örneğin, her hücrenin 0 değerinden başladığı 3x3'lük bir ızgara oluşturmak için:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Sonuç: her elemanı 0 olan 3x3 bir dizi
?>Çok boyutlu diziler; oyun tahtaları, bilgi tabloları gibi yapılandırılmış verileri veya verileri ızgara biçiminde temsil etmeniz gereken her türlü senaryoyu düzenlemek için son derece kullanışlıdır. İlgili bilgilerin satırları ve sütunlarıyla çalışmak için doğal bir yol sunarlar.
Görev
Kolay2D bir dizinin boyutlarını ve başlangıç değerini temsil eden üç girdi alacaksınız: satır sayısı, sütun sayısı ve her konumu dolduracak bir değer. Bu girdileri okuyun, belirtilen boyutlarda her öğesi verilen değere ayarlanmış bir 2D dizi oluşturun ve diziyi print_r() kullanarak yazdırın.
Girdi biçimi:
- İlk satır: Satır sayısı (tam sayı)
- İkinci satır: Sütun sayısı (tam sayı)
- Üçüncü satır: Her öğe için başlangıç değeri (dize)
Beklenen çıktı: Oluşturulan 2D dizinin print_r() kullanılarak görüntülenmesi
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ıralamaKendi başına pratik yap: Online PHP derleyicisi