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 elemanları olarak içeren bir dizidir. En yaygın türü, bir hesap çizelgesine veya bir oyun tahtasına benzer şekilde, satırları ve sütunları olan bir ızgara gibi düşünebileceğiniz 2D bir dizidir.
PHP'de 2 boyutlu bir dizi oluşturmak oldukça basittir; her öğ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şturmak için yerleşik array_fill() fonksiyonunu sağlar. Üç argüman alır: başlangıç indeksi, eleman sayısı ve dolgu değeri:
<?php
$row = array_fill(0, 3, "");
// Sonuç: ["", "", ""]
?>Bu, bir oyun tahtasındaki boş hücreler gibi tekrarlanan değerlerle dizileri başlatmanız gerektiğinde kullanışlı bir kısayoldur.
Ç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. İlgili bilgilerin satır ve sütunlarıyla çalışmak için doğal bir yol sağlarlar.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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.
Girdi biçimi:
- 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
Kopya kağıdı
Çok boyutlu bir dizi, diğer dizileri eleman olarak içeren bir dizidir. En yaygın türü, satır ve sütunlardan oluşan bir ızgarayı temsil eden 2B bir dizidir.
PHP'de 2B dizi oluşturma:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>Farklı veri türlerine sahip 2B diziler:
<?php
$scores = [
[85, 92, 78],
[90, 88, 95],
[76, 84, 89]
];
?>Her iç dizi bir satırı temsil eder ve bu dizilerdeki her bir eleman bir sütunu temsil eder. Çok boyutlu diziler; oyun tahtaları, tablolar veya herhangi bir ızgara formatındaki veriler gibi yapılandırılmış verileri düzenlemek için kullanışlıdır.
Belirli bir değerle önceden doldurulmuş bir dizi oluşturmak için array_fill() kullanın:
array_fill(start_index, count, value)
<?php
// [0, 0, 0, 0, 0] oluşturur
$row = array_fill(0, 5, 0);
?>Bu, satırları veya tüm 2B dizileri varsayılan bir değerle hızlı bir şekilde başlatmak için kullanışlıdır.
Kendin dene
<?php
// Girdiyi oku
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// YAPILACAK: 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