İndeksli dizi, ilişkisel dizi, çok boyutlu dizi ve dizi yoğunluğu.
PHP dizileri hem liste (indexed) hem de sözlük (associative) olarak kullanılabilir. Çok boyutlu dizilerle tablo yapıları oluşturulabilir.
İkisi de aynı şeyi yapar. [] PHP 5.4 ile geldi, daha kısa ve modern. Yeni kodlarda [] tercih edin.
Bir dizinin değerlerini tek satırda birden fazla değişkene atamak için kullanılır. PHP 7.1+ ile [] ile de yapılabilir.
<?php
// ── İndeksli Dizi ──
$meyveler = ["elma", "armut", "kiraz"];
echo $meyveler[0]; // elma
echo count($meyveler); // 3
// Eleman ekle/çıkar
$meyveler[] = "mango"; // sona ekle
array_push($meyveler, "üzüm"); // sona ekle
array_unshift($meyveler, "çilek"); // başa ekle
$son = array_pop($meyveler); // sondan çıkar
$ilk = array_shift($meyveler); // baştan çıkar
// ── İlişkisel Dizi ──
$kullanici = [
"ad" => "Furkan",
"yas" => 28,
"email" => "furkan@mail.com",
"aktif" => true,
];
echo $kullanici["ad"]; // Furkan
echo $kullanici["yas"]; // 28
// Anahtar var mı?
if (isset($kullanici["email"])) {
echo "E-posta var: " . $kullanici["email"];
}
// ── Çok Boyutlu Dizi ──
$ogrenciler = [
["ad" => "Ali", "not" => 90, "sinif" => "A"],
["ad" => "Ayşe", "not" => 85, "sinif" => "B"],
["ad" => "Mehmet","not" => 78, "sinif" => "A"],
];
foreach ($ogrenciler as $o) {
echo $o["ad"] . ": " . $o["not"] . "\n";
}
// ── Dizi Fonksiyonları ──
$sayilar = [5, 2, 8, 1, 9, 3];
sort($sayilar); // küçükten büyüğe
rsort($sayilar); // büyükten küçüğe
asort($dizi); // değere göre sırala (anahtar koru)
ksort($dizi); // anahtara göre sırala
echo implode(", ", $sayilar); // birleştir
$parcalar = explode(",", "a,b,c"); // böl
// array_map — her elemana fonksiyon uygula
$kareler = array_map(function($x) { return $x * $x; }, [1,2,3,4]);
// [1, 4, 9, 16]
// array_filter — koşula uymayanları çıkar
$buyukler = array_filter($sayilar, function($x) { return $x > 5; });
// array_reduce — tek değere indir
$toplam = array_reduce($sayilar, function($taşınan, $mevcut) {
return $taşınan + $mevcut;
}, 0);
// in_array — değer var mı?
echo in_array("elma", $meyveler); // true
// array_search — değerin anahtarını bul
$index = array_search("elma", $meyveler);
// array_unique — tekrarları kaldır
$benzersiz = array_unique([1,2,2,3,3,3]);
// array_merge — birleştir
$hepsi = array_merge($meyveler, ["kavun", "karpuz"]);
// array_slice — parça al
$ilk_iki = array_slice($meyveler, 0, 2);
// array_chunk — parçalara böl
$parcalar = array_chunk($meyveler, 2);
// list() ile açma
list($birinci, $ikinci, $ucuncu) = $meyveler;
[$a, $b] = [10, 20]; // PHP 7.1+
// array_column — çok boyutlu diziden sütun al
$adlar = array_column($ogrenciler, "ad");
// ["Ali", "Ayşe", "Mehmet"]
// usort — özel sıralama
usort($ogrenciler, function($a, $b) {
return $b["not"] - $a["not"]; // nota göre büyükten küçüğe
});
?>