프로그래밍/PHP

PHP - list() 함수 배열처럼 변수에 할당

가카리 2014. 2. 12. 20:09
반응형

list

(PHP 4, PHP 5)

list배열처럼 변수에 할당

설명

void list ( mixed $varname [, mixed $... ] )

array()처럼, 이 함수는 실제 함수가 아니고 언어 구조이다. list()는 한번의 조작으로 배열 목록을 지정하기 위해 사용된다.

인수

varname

변수.

 

반환값

값을 반환하지 않습니다.

예제

Example #1 list() 예제

<?php

$info 
= array('coffee''brown''caffeine');

// 모든 변수를 목록화한다
list($drink$color$power) = $info;
echo 
"$drink is $color and $power makes it special.\n";

// 그들중 일부를 목록화한다
list($drink, , $power) = $info;
echo 
"$drink has $power.\n";

// 또는 세번째 값으로만 건너띈다
list( , , $power) = $info;
echo 
"I need $power!\n";

// list()는 문자열에는 작동하지 않습니다
list($bar) = "abcde";
var_dump($bar); // NULL
?>

 

Example #2 list() 용례

<table>
 <tr>
  <th>Employee name</th>
  <th>Salary</th>
 </tr>

<?php

$result 
mysql_query ("SELECT id, name, salary FROM employees"$conn);
while (list (
$id$name$salary) = mysql_fetch_row ($result)) {
    echo 
" <tr>\n" .
          
"  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
          
"  <td>$salary</td>\n" .
          
" </tr>\n";
}

?>

</table>

 

Example #3 중첩 list() 사용하기

<?php

list($a, list($b$c)) = array(1, array(23));

var_dump($a$b$c);

?>
int(1)
int(2)
int(3)

 

Example #4 배열 인덱스로 list() 사용하기

<?php

$info 
= array('coffee''brown''caffeine');

list(
$a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

다음과 같이 출력된다 (이 원소들의 순서는 list() 문법에서 쓰여진 순서와 반대라는 점에 주의):

array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

 

주의

Warning

list()는 가장 우측 인수에서 시작하는 값들을 지정한다. 일반적인 변수들을 사용하면, 이 동작에 대해서 신경 쓸 필요가 없다. 그러나 인덱스를 갖는 배열에서 사용한다면 왼쪽에서 오른쪽으로 list()에서 쓰여진것과 같이 배열안의 인덱스 순서로 되는것이라고 보통 기대할수 있으나, 그렇지 않다. 역순으로 지정이 된다.

Note: list()는 숫자 배열에서만 작동하고 0부터 시작하는 숫자 인덱스로 가정한다.

참고

 

반응형