Forum und email

each

(PHP 4, PHP 5)

each — 배열에서 현재의 키와 값 쌍을 반환하고 배열 커서를 전진시킨다

설명

array each ( array $array )

array 배열에서 현재의 키와 값 쌍을 반환하고 배열 커서를 전진시킨다. 이 키/값 쌍은 4개 원소를 갖는 배열을 반환한다. 0, 1, key, value 이다. 원소 0key는 배열 원소의 키 이름을 포함하고, 1value는 데이터를 포함한다.

배열의 내부 포인터가 배열의 끝을 벗어나면, each()FALSE를 반환한다.

Example#1 each() 예제코드

<?php
$foo 
= array ("bob""fred""jussi""jouni""egon""marliese");
$bar each ($foo);
print_r($bar);
?>

$bar는 현재 다음과 같은 key/value 쌍을 포함한다:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo 
= array ("Robert" => "Bob""Seppo" => "Sepi");
$bar each ($foo);
print_r($bar);
?>

$bar는 현재 다음과 같은 key/value 쌍을 포함한다:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each()는 배열을 사용하기 위해 일반적으로 list()와 같이 사용한다. 예제코드는 다음과 같다:

Example#2 each()로 배열 사용하기

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

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

/* Outputs:

a => apple
b => banana
c => cranberry

*/
?>

each()가 수행되면, 배열 커서는 배열의 다음 원소로 옮겨지거나, 배열의 끝인 경우에는 마지막 원소를 통과한다. each를 사용하여 다시 배열을 사용하려면 reset()을 사용해야 한다.

Caution

배열을 다른 변수로 지정하는 것은 원래의 배열 포인터를 초기화 하는것이기 때문에, 위 예제코드는 루프안에서 $fruit를 다른 변수로 지정하게 되면 무한 루프를 유발할수 있다.

key(), list(), current(), reset(), next(), prev(), foreach 참고.