# 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ı.";
}
?>

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yavuzlar.org/egitim/00x0-php-nedir/01x3-phpde-diziler-arrays.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
