> For the complete documentation index, see [llms.txt](https://docs.yavuzlar.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yavuzlar.org/egitim/00x0-php-nedir/01x3-phpde-diziler-arrays.md).

# 2.3 PHP'de Diziler (Arrays)

Diziler, birden fazla değeri tek bir değişkende saklamak için kullanılır. PHP'de diziler, anahtar-değer çiftleri olarak saklanır ve iki ana türü vardır: **indeksli diziler** ve **ilişkisel diziler**. Ayrıca, **çok boyutlu diziler** de kullanılabilir.

## 1.İndeksli Diziler

İndeksli dizilerde, her bir eleman bir sayısal anahtarla tanımlanır. İndeksler 0'dan başlar.

**Örnek: İndeksli Dizi Oluşturma ve Erişme**

```php
<?php
// Dizi tanımlama
$renkler = array("kırmızı", "yeşil", "mavi", "sarı");

// Dizi elemanlarına erişme
echo "Birinci renk: " . $renkler[0] . "<br>";
echo "İkinci renk: " . $renkler[1] . "<br>";
echo "Üçüncü renk: " . $renkler[2] . "<br>";
echo "Dördüncü renk: " . $renkler[3] . "<br>";
?>
```

## 2. İlişkisel Diziler

İlişkisel dizilerde, her bir eleman bir metin anahtarıyla tanımlanır. Bu tür dizilerde, anahtarlar özel adlar olabilir.

**Örnek: İlişkisel Dizi Oluşturma ve Erişme**

```php
<?php
// İlişkisel dizi tanımlama
$yaslar = array("Ahmet" => 25, "Mehmet" => 30, "Ayşe" => 22);

// Dizi elemanlarına erişme
echo "Ahmet'in yaşı: " . $yaslar["Ahmet"] . "<br>";
echo "Mehmet'in yaşı: " . $yaslar["Mehmet"] . "<br>";
echo "Ayşe'nin yaşı: " . $yaslar["Ayşe"] . "<br>";
?>
```

## 3. Dizilerde Döngüler

Dizilerde döngü kullanarak elemanlara erişmek yaygındır. `foreach` döngüsü genellikle bu amaçla kullanılır.

**Örnek: İndeksli Dizide `foreach` Döngüsü Kullanma**

```php
<?php
$meyveler = array("elma", "muz", "çilek", "kiraz");

foreach ($meyveler as $meyve) {
    echo "Meyve: $meyve <br>";
}
?>

```

**Örnek: İlişkisel Dizide `foreach` Döngüsü Kullanma**

```php
<?php
$meyveler = array("elma", "muz", "çilek", "kiraz");

foreach ($meyveler as $meyve) {
    echo "Meyve: $meyve <br>";
}
?>
```

## 4. Çok Boyutlu Diziler

Çok boyutlu diziler, dizi içinde diziler içerebilir. En yaygın çok boyutlu dizi türü, iki boyutlu dizilerdir.

**Örnek: İki Boyutlu Dizi Oluşturma ve Erişme**

```php
<?php
// İki boyutlu dizi tanımlama
$arabalar = array(
    array("Volvo", 22, 18),
    array("BMW", 15, 13),
    array("Saab", 5, 2),
    array("Land Rover", 17, 15)
);

// Dizi elemanlarına erişme
echo $arabalar[0][0] . ": Stokta " . $arabalar[0][1] . ", Satışta " . $arabalar[0][2] . "<br>";
echo $arabalar[1][0] . ": Stokta " . $arabalar[1][1] . ", Satışta " . $arabalar[1][2] . "<br>";
echo $arabalar[2][0] . ": Stokta " . $arabalar[2][1] . ", Satışta " . $arabalar[2][2] . "<br>";
echo $arabalar[3][0] . ": Stokta " . $arabalar[3][1] . ", Satışta " . $arabalar[3][2] . "<br>";
?>

```

## 5. Dizi Fonksiyonları

PHP, dizilerle çalışmayı kolaylaştıran birçok yerleşik fonksiyon sağlar.

**`count()` Fonksiyonu: Dizideki Eleman Sayısını Döner**

```php
<?php
$meyveler = array("elma", "muz", "çilek", "kiraz");
echo "Dizideki eleman sayısı: " . count($meyveler);
?>

```

**`array_merge()` Fonksiyonu: İki veya Daha Fazla Diziyi Birleştirir**

```php
<?php
$dizi1 = array("elma", "muz");
$dizi2 = array("çilek", "kiraz");
$birlesmisDizi = array_merge($dizi1, $dizi2);

print_r($birlesmisDizi);
?>

```

**`array_search()` Fonksiyonu: Dizide Belirli Bir Değerin Anahtarını Döner**

```php
<?php
$meyveler = array("elma", "muz", "çilek", "kiraz");
$anahtar = array_search("çilek", $meyveler);

if ($anahtar !== false) {
    echo "'çilek' dizinin $anahtar. anahtarında bulunuyor.";
} else {
    echo "'çilek' dizide bulunamadı.";
}
?>

```
