본문으로 바로가기

list() 함수

category [ Web 관련 ]/php 2018. 11. 16. 18:03

# list() 함수로 배열만드는 방법 예제보기

<?php
$test = array('1', '2', '3');
// $test 변수는 3개의 값 1,2,3을 가짐

list($a, $b, $c) = $test;
// 마치 변수를 선언하듯이 사용(단, 앞에 list() 키워드가 필요)

echo $a;
echo $b;
echo $c;
?>


예상했겠지만 위 list() 함수에 의해 3개의 새로운 변수 $a, $b, $c가 생성되었고 echo를 사용해 화면에 출력된다. 위 경우는 세개만 사용해 각각의 변수로 선언하였으나 실제로는 더 많은 변수의 변환에 사용될 것이라 예상할 수 있다. 사실 적은 수의 변수 생성은 큰 도움은 되지 않을 것이다.

좀 더 알아보자... 여기서 만약 오직 변수 두개만 필요하다면 이 경우 어떻게 해야할까?


# list()를 사용해 오직 변수 두개만 만드는 방법

<?php
list($a, $b) = $test;
?>


특별한 방법이 존재하는 것이 아니라 전달할 인자로 두개만 사용하면된다. 다시 설명하면... 배열이 가진 개수에 상관없이 우리가 만들고자 하는 개수... 즉 원하는 변수의 개수만 선택하여 결정할 수 있다는 점이다.

여기서 또 다른 질문... 만약 3번째 값만 사용해 변수를 만드려면? 즉, 원하는 위치에 있는 값만 변수로 생성할 수 있는가의 여부는?
물론 가능하다. 아래의 마지막 예제를 통해 알아보도록 하자.


# 특정 위치의 값만 사용해 만드는 방법

<?php
list( , , $a);
?>


매우 특이하고 보기에 가독성은 좋지 않은 방법이다. 빈자리는 null값이 되어 자동으로 skip되고 세번째 값을 사용해 변수 $a가 생성된다. 사실 매우 보기는 않좋으나 이해하기에는 직관적으로 쉬울 수 있다. 어쨌든 우리가 원하는 결과는 얻을 수 있다!