Live Brilliant

[php] while each문 값 출력 안되는문제 본문

개발은 핵찜이야/PHP

[php] while each문 값 출력 안되는문제

주인정 2014. 3. 18. 13:55


[문제] 배열에 있는 값을 list 함수를 통해 출력하려했는데 배열에 값은 있는데 출력이 안되는 문제가 발생


$fruit = array('a' => 'apple''b' => 'banana''c' => 'cranberry');


while (list($key$val) = each($fruit)) {
    echo 
"$key => $val\n";
}


while (list($key$val) = each($fruit)) {
    echo 
"$key => $val\n";
}



[원인] 

 상위 코드에서 each($fruit) 문을 한번 사용하였다 

 


[해결] 

reset()함수를 이용하여 배열 포인터를 첫번째로 설정해야한다.

reset() 함수를 사용하니 출력이 되었다.

reset() 배열의 내부 포인터를 첫 번째 요소로 설정

$fruit = array('a' => 'apple''b' => 'banana''c' => 'cranberry');

while (list($key$val) = each($fruit)) {
    echo 
"$key => $val\n";
}

reset($fruit);
while (list(
$key$val) = each($fruit)) {
    echo 
"$key => $val\n";
}


Comments