list

(PHP 4, PHP 5, PHP 7)

listDeğişkenlere bir dizi gibi atama yapar

Açıklama

list ( mixed $değişken [, mixed $... ] ) : array

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ştirgeler

değişken

Bir değişken.

Dönen Değerler

Atanan dizi döner.

Örnekler

Ö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(23));

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"
}

Notlar

Uyarı

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.

Ayrıca Bakınız

  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • array() - Bir dizi oluşturur
  • extract() - Bir dizideki değişkenleri simge tablosuna dahil eder