list

(unknown)

list --  értéket rendel a felsorolt változókhoz

Leírás

void list ( mixed ...)

Az array()-hoz hasonlóan a list() sem valódi függvény, hanem nyelvi építőelem. A list() a több változó érték-hozzárendelésére szolgál egy műveleten belül.

Megjegyzés: A list() csak numerikus indexelésű tömbökön működik helyesen, és akkor is csak, ha az indexelés 0-tól kezdődik.

Példa 1. list() példák

<?php

$info = array('kávé', 'barna', 'koffein');

// az összes változó kiírása
list($ital, $szin, $ero) = $info;
print "A $ital $szin és a $ero teszi különlegessé.\n";

// csak néhány változó kiírása
list($ital, , $ero) = $info;
print "A {$ital}ban van $ero.\n";

// vagy a harmadik, legutols= kirása
list( , , $ero) = $info;
print "Kérek {$power}t!\n";

?>

Példa 2. Példa a list() használatára

<table>
 <tr>
  <th>Alkalmazott neve</th>
  <th>fizetése</th>
 </tr>

<?php

$result = mysql_query ("SELECT id, nev, fizetes FROM alkalmazottak",$conn);
while (list ($id, $nev, $fizetes) = mysql_fetch_row ($result)) {
    print (" <tr>\n".
           "  <td><a href=\"info.php?id=$id\">$nev</a></td>\n".
           "  <td>$fizetes</td>\n".
           " </tr>\n");
}

?>

</table>

Figyelem

A list() az értékek hozzárendelését jobbról kezdi el. Sima változók esetében ez nem okoz különösebb fejtörést, de tömbelemek esetén általában az az elvárt viselkedés, hogy az elemek felsorolásuk sorrendjében kerülnek a tömbbe, azaz a list() paraméterlistájában elfoglalt helyüknek megfelelően balról - jobbra haladva. Ez azonban nem így van, a hozzárendelés jobbról balra halad:

Példa 3. A list() használata indexelt tömbelemekkel

<?php
$info = array('kávé', 'fekete', 'koffein');
list($a[0], $a[1], $a[2]) = $info;

var_dump($a);
A következő kimenetet adja. Vesd össze az elemek tömbbeli sorrendjét a a list() paraméterlistájában elfoglalt helyükkel:
array(3) {
  [2]=>
  string(8) "koffein"
  [1]=>
  string(5) "fekete"
  [0]=>
  string(6) "kávé"
}

Lásd még: each(), extract() és array()!