배열 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
, key
및 value
키가 있는 4요소 배열로 반환됩니다. 요소 0
과 key
는 배열 요소의 키 이름을 포함하고 1
과 value
은 데이터를 포함합니다.
배열의 내부 포인터가 배열 내용의 끝을 지나면 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()를 사용하여 객체 속성을 반복하는 것은 권장하지 않습니다.