Forum und email

list

(PHP 4, PHP 5)

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.

Note: 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.

Example#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";

?>

Example#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>

Warning

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:

Example#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()!