update : 2015.11.03
php.shukuma.com

검색:
 
 
배열에서 현재 키와 값 쌍을 반환하고 배열 커서를 전진

each

(PHP 4, PHP 5, PHP 7)

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

설명

array each ( array &$array )

배열에서 현재 키와 값 쌍을 반환하고 배열 커서를 전진합니다.

each()를 실행한 후에, 배열 커서는 배열의 다음 원소를 가르키거나, 배열의 끝이라면 마지막 원소 뒤를 가르킵니다. each를 사용해서 배열을 다시 따라가려면 reset()해야 합니다.

인수

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";
}
?>

위 예제의 출력:

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

Caution

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

Warning

each()는 객체를 받아들이지만, 기대하지 않은 결과를 반환할 수 있습니다. 그러므로 객체 프로퍼티를 each()로 반복하는 일은 권장하지 않습니다.

참고

  • key() - 배열에서 키를 가져옵니다
  • list() - 배열처럼 변수에 할당
  • current() - 배열의 현재 원소를 반환
  • reset() - 배열의 내부 포인터를 첫 원소로 설정
  • next() - 배열의 내부 배열 포인터를 전진
  • prev() - 내부 배열 포인터를 후진
  • foreach
  • 객체 반복