배열 each

(PHP 4, PHP 5, PHP 7)

each — 배열에서 현재 키와 값 쌍을 반환하고 배열 커서를 앞으로 이동

경고 이 함수는 PHP 7.2.0부터 DEPRECATED되었으며 PHP 8.0.0부터 제거되었습니다. 이 함수에 의존하는 것은 매우 권장되지 않습니다.


설명

each(array|object &$array): array

배열에서 현재 키와 값 쌍을 반환하고 배열 커서를 앞으로 이동합니다.

each()가 실행된 후 배열 커서는 배열의 다음 요소에 남아 있거나 배열의 끝에 도달하면 마지막 요소를 지나갑니다. 각각을 사용하여 배열을 다시 탐색하려면 reset()을 사용해야 합니다.


매개변수

array
입력 배열입니다.

반환 값

배열 array에서 현재 키와 값 쌍을 반환합니다. 이 쌍은 0, 1, keyvalue 키가 있는 4요소 배열로 반환됩니다. 요소 0key는 배열 요소의 키 이름을 포함하고 1value은 데이터를 포함합니다.

배열의 내부 포인터가 배열 내용의 끝을 지나면 each()false를 반환합니다.


Examples

예제 #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()와 함께 사용됩니다. 예는 다음과 같습니다.

예제 #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
                

주의 배열을 다른 변수에 할당하면 원래 배열의 포인터가 재설정되기 때문에 위의 예는 루프 내의 다른 변수에 $fruit를 할당한 경우 무한 루프를 발생시킵니다.

경고 each()는 객체도 허용하지만 예기치 않은 결과를 반환할 수 있습니다. 따라서 each()를 사용하여 객체 속성을 반복하는 것은 권장하지 않습니다.


기타

  • key() - 배열에서 키 가져오기
  • list() - 변수를 배열인 것처럼 할당
  • current() - 배열의 현재 요소를 반환
  • reset() - 배열의 내부 포인터를 첫 번째 요소로 설정
  • next() - 배열의 내부 포인터를 전진
  • prev() - 내부 배열 포인터 되감기
  • foreach
  • Object Iteration