v2.5.2
Giriş yap

PHP list() Fonksiyonu

PHP 4PHP 5PHP 7

Tanımlanan bir diziden istenilen isimde değişken(ler) oluşturarak kullanmamızı sağlar. Genelde anahtarı olmayan anlamsız dizileri daha anlamlı kılmak adına bu işlemi yaparız.

Yapısı (Syntax)list ( mixed $var1 [, mixed $varN... ] ) : array

Parametreler

  • $var1 mixed
    Değişene atanmış ilk değeri temsil eder.
  • $varN.. mixed
    Sırasıyla atanmış değeri temsil etmeye devam eder.

Dönen Değer

array - Geriye atanmış bir dizi döner.

NOT
Tıpkı array() gibi buda gerçek bir fonksiyon değil, dilin işlevlerinden birisidir. Ancak fonksiyon şeklinde kullanılır.

Versiyon Güncellemeleri

Versiyon Açıklama
7.0.0 list() artık string ifadeler için kullanılamaz.
7.0.0 list() ifadesi tamamen boş olamaz. Yani mutlaka en az 1 tanım yapılmalı.
7.0.0 Atama işlemlerinin gerçekleştirilme sırası değişti.
7.1.0 Spesifik olarak anahtar ismi belirtilerek kullanılabilir. Örnekler kısmından örneğini görebilirsiniz.

Örnekler

Basit bir örnekle anlamaya çalışalım.

<?php

// Tüm değerleri değişene atayalım
list($ad, $soyad, $yas) = array('Tayfun', 'Erbilen', 26);
echo $ad; // Çıktı: Tayfun

// Bazı değerleri es geçerek değişene atayalım
list(, , $yas) = array('Tayfun', 'Erbilen', 26);
echo $yas; // Çıktı: 26

// list() artık stringler ile çalışmamaktadır! Aşağıdaki örnek hatalıdır.
list($bar) = "abcde";
var_dump($bar); // Çıktı: NULL

// Farklı bir örnek
list($kategori, $altKategoriler) = array('CSS', array('SASS', 'LESS', 'Stylus'));
print_r($altKategoriler);

?>

İç içe (nested) kullanımı ise şöyledir;

<?php

list($deger1, list($deger2, $deger3)) = array('Değer 1', array('Değer 2', 'Değer 3'));
echo $deger2; // Çıktı: Değer 2

?>

Dizi indexleriyle çalışmasını anlamak adına aşağıdaki örnek verilebilir. Burada önemli olan index değerleridir, dizideki sırası değil.

<?php

$foo = array(
    1 => '1. Değer',
    2 => '2. Değer',
    0 => '0. Değer'
);
list($x, $y, $z) = $foo;

echo $x; // Çıktı: 0. Değer
echo $z; // Çıktı: 2. Değer

?>

PHP 7.1.0'dan itibaren ise spesifik olarak anahtar ismi belirtilebilir. Bu örnekler PHP'nin 7.1.0 versiyonundan itibaren çalışır halde kullanılabilir aksi taktirde hata alırsınız.

<?php

$uyeler = [
    ['ad' => 'Tayfun', 'soyad' => 'Erbilen'],
    ['ad' => 'Servet', 'soyad' => 'Sevimli']
];

foreach ($uyeler as ['ad' => $uye_adi, 'soyad' => $uye_soyadi]) {
    echo "<p>Merhaba ben {$uye_adi} {$uye_soyadi}</p>";
}

# YA DA ŞU ŞEKİLDE KULLANABİLİRİZ

list(0 => $tayfun, 2 => $servet) = [0 => 'Tayfun Erbilen', 1 => 'Mehmet Seven', 2 => 'Servet Sevimli'];
echo $servet; // Çıktı: Servet Sevimli

?>

PHP 7.1'den itibaren şu şekilde kısaltılarakta kullanılabilir;

<?php

[$ad, $soyad] = ['Tayfun', 'Erbilen'];
echo $ad;

?>

tayfunerbilen
1984 gün önce eklendi - 4856 kez görüntülendi.
Github'da Düzenle
Önceki ltrim() Sonraki phpinfo()