0Pricing
PHP Academy · Ders

Çok Boyutlu Diziler

Dizi dizileri oluşturun ve bunlar arasında gezinin.

Çok Boyutlu Diziler, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

Çok Boyutlu Diziler

Çok boyutlu dizi, her öğesinin kendisinin de bir dizi olduğu dizidir. Veritabanı sonuçları veya yapılandırma ağaçları gibi yapılandırılmış veriler için sıkça kullanılır.

2B Dizi Oluşturma

İki boyutlu bir dizi oluşturun ve bu diziye erişin:

<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

echo $matrix[1][2]; // 6 (row 1, col 2)
$matrix[0][0] = 99;
echo $matrix[0][0]; // 99

İlişkisel Dizilerden Oluşan Dizi

Veritabanı sonuç kümeleri genellikle ilişkisel dizilerden oluşan dizilerdir:

<?php
$users = [
    ['id' => 1, 'name' => 'Alice', 'role' => 'admin'],
    ['id' => 2, 'name' => 'Bob',   'role' => 'user'],
    ['id' => 3, 'name' => 'Carol', 'role' => 'user'],
];

echo $users[0]['name'];  // Alice
echo count($users);      // 3

2B Dizilerde Yineleme

Tüm satırlar ve sütunlar üzerinde yineleme yapmak için iç içe foreach kullanın:

<?php
$products = [
    ['name' => 'Widget', 'price' => 9.99],
    ['name' => 'Gadget', 'price' => 24.99],
];

foreach ($products as $product) {
    echo $product['name'] . ': $' . $product['price'] . PHP_EOL;
}

İç İçe Anahtarlara Güvenli Erişim

Mevcut olmayabilecek iç içe anahtarlara güvenli bir şekilde erişmek için null birleştirme operatörünü kullanın:

<?php
$config = [
    'database' => ['host' => 'localhost', 'port' => 3306],
    'cache'    => ['driver' => 'redis'],
];

$port     = $config['database']['port'] ?? 3306;
$password = $config['database']['password'] ?? '';

echo $port;     // 3306
echo $password; // (empty)

İç İçe Dizilere Ekleme

Çok boyutlu bir dizinin derinliklerindeki öğelere ekleme yapın:

<?php
$app = [];
$app['settings']['theme'] = 'dark';
$app['settings']['lang']  = 'en';

$app['users'][] = ['name' => 'Alice'];
$app['users'][] = ['name' => 'Bob'];

echo count($app['users']);       // 2
echo $app['settings']['theme'];  // dark

array_column()

array_column(), 2B bir diziden tek bir sütun çıkarır:

<?php
$users = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Carol'],
];

$names = array_column($users, 'name');
print_r($names); // ['Alice', 'Bob', 'Carol']

// Re-index by id
$byId = array_column($users, null, 'id');
echo $byId[2]['name']; // Bob

2B Dizi Sıralama

usort() kullanarak satırları bir alan değerine göre sıralayın:

<?php
$products = [
    ['name' => 'C Item', 'price' => 30],
    ['name' => 'A Item', 'price' => 10],
    ['name' => 'B Item', 'price' => 20],
];

usort($products, fn($a, $b) => $a['price'] <=> $b['price']);

foreach ($products as $p) {
    echo $p['name'] . PHP_EOL; // A Item, B Item, C Item
}

array_walk_recursive ile Özyinelemeli İşlemler

array_walk_recursive() ile iç içe bir dizinin her yaprak öğesine bir geri çağırma işlevi uygulayın:

<?php
$data = ['a' => 'hello', 'b' => ['c' => 'world', 'd' => 'php']];

array_walk_recursive($data, function(&$val) {
    $val = strtoupper($val);
});

print_r($data);
// ['a'=>'HELLO', 'b'=>['c'=>'WORLD','d'=>'PHP']]

JSON ve Çok Boyutlu Diziler

PHP'nin çok boyutlu dizileri, JSON nesneleri ve dizileriyle doğrudan eşleşir:

<?php
$data = [
    'user'    => ['id' => 1, 'name' => 'Alice'],
    'scores'  => [95, 87, 92],
    'active'  => true,
];

$json = json_encode($data, JSON_PRETTY_PRINT);
echo $json;

$decoded = json_decode($json, true); // true = assoc array
echo $decoded['user']['name']; // Alice

İç İçe Dizilerde array_merge ve array_replace Karşılaştırması

array_merge özyinelemeli değildir; iç içe dizileri doğru şekilde birleştirmek için array_replace_recursive kullanın:

<?php
$defaults = ['db' => ['host' => 'localhost', 'port' => 3306]];
$custom   = ['db' => ['host' => 'production.server.com']];

$config = array_replace_recursive($defaults, $custom);
echo $config['db']['host'];  // production.server.com
echo $config['db']['port'];  // 3306 — preserved from defaults

Hızlı Kontrol

2B bir diziden tek bir değer sütunu hangi işlevle çıkarılır?

Özet: Çok Boyutlu Diziler

Temel noktalar:

  • Dizileri istediğiniz derinlikte iç içe yerleştirebilirsiniz
  • Eksik iç içe anahtarlara güvenli erişmek için ?? kullanın
  • array_column(), bir sütun çıkarır veya bir anahtara göre yeniden indeksler
  • Karşılaştırıcıyla birlikte usort(), herhangi bir alana göre sıralama yapar
  • Derin dönüşümler için array_walk_recursive() kullanın
  • Derin birleştirme için array_replace_recursive() kullanın

Sıkça Sorulan Sorular

“Çok Boyutlu Diziler” dersi ücretsiz mi?

Evet — “Çok Boyutlu Diziler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“Çok Boyutlu Diziler” dersinde ne öğreneceğim?

Dizi dizileri oluşturun ve bunlar arasında gezinin. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Çok Boyutlu Diziler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İndeksli ve İlişkisel Diziler
  2. Çok Boyutlu Diziler
  3. Dizileri Sıralama ve Arama
  4. Dizi Dönüştürme İşlevleri
← PHP Academy Sayfasına Dön