(PHP 4, PHP 5)
list — Değişkenlere bir dizi gibi atama yapar
array() gibi bu da bir işlev değil bir dil oluşumudur. list() işlevi tek deyimde birden fazla değişkene atama yapmak için kullanılır.
değişken
Bir değişken.
Atanan dizi döner.
Örnek 1 - list() örnekleri
<?php
$veri = array('kahve', 'uyku', 'kafein');
// Değişkenlerin tamamını listeleyelim
list($içecek, $neyi, $güç) = $veri;
echo "$içecek $neyi kaçırır, çünkü içinde $güç vardır.\n";
// Bir kısmını listeleyelim
list($içecek, , $güç) = $veri;
echo "$içecek $güç içerir.\n";
// Sadece üçüncü kalsın
list( , , $güç) = $veri;
echo "Bana $güç lazım!\n";
// list() dizgelerle çalışmaz
list($bar) = "abcde";
var_dump($bar); // NULL
?>
Örnek 2 - list() kullanım örneği
<table>
<tr>
<th>Çalışanın adı</th>
<th>Ücreti</th>
</tr>
<?php
$sonuç = mysql_query("SELECT id, ad, ucret FROM personel", $conn);
while (list($id, $ad, $ücret) = mysql_fetch_row($sonuç)) {
echo " <tr>\n" .
" <td><a href=\"info.php?id=$id\">$ad</a></td>\n" .
" <td>$ücret</td>\n" .
" </tr>\n";
}
?>
</table>
Örnek 3 - İç içe list() kullanımı
<?php
list($a, list($b, $c)) = array(1, array(2, 3));
var_dump($a, $b, $c);
?>
int(1) int(2) int(3)
Örnek 4 - Dizi indisleri ile list() kullanımı
<?php
$veri = array('kahve', 'uyku', 'kafein');
list($a[0], $a[1], $a[2]) = $veri;
var_dump($a);
?>
Aşağıdaki çıktıyı verir (dikkatı ederseniz, eleman sırası list() ile belirtilen sıra ile aynıdır):
array(3) { [2]=> string(6) "kafein" [1]=> string(4) "uyku" [0]=> string(5) "kahve" }
list() değerleri en sağdaki değiştirgeden itibaren atar. Düz değişken kullanıyorsanız bundan dolayı endişelenmeniz gerekmez. Fakat indisli diziler kullanıyorsanız, dizi indislerinin, list()'teki yazılış sırasına göre soldan sağa sıralanacağını düşünürsünüz. Fakat atama sağdan sola doğru yapılır.
Bilginize:
list() sadece sayısal indisli dizilerle çalışır ve indislerin 0'dan başladığı varsayılır.