php에서 end () 와 각 ()는 일반적으로 배열 작업 및 트래버스와 관련된 두 가지 매우 일반적인 기능입니다. Foreach 는 가장 일반적으로 사용되는 어레이 트래버스 방법이지만 포인터 기능을 사용하여 Foreach 와 같은 트래버스 동작을 시뮬레이션 할 수도 있습니다. 오늘날, 우리는 end () 와 각 ()을 사용하여 Foreach 의 횡단 과정을 모방하는 방법에 대해 논의 할 것입니다.
end () 함수는 배열의 내부 포인터를 배열의 마지막 요소로 이동하고 해당 요소의 값을 반환하는 데 사용됩니다. 이 방법으로 배열 자체를 변경하지 않고 배열의 마지막 요소에 액세스 할 수 있습니다.
예:
$array = [1, 2, 3, 4];
echo end($array); // 산출 4
각 () 함수는 배열에서 현재 키 값 쌍을 반환하고 내부 포인터를 하나씩 움직입니다. 키 이름과 키 값을 포함하는 배열 ( 키 및 값 )을 반환합니다. 내부 포인터가 배열의 마지막 요소로 이동하면 각 ()을 호출하면 다시 거짓을 반환합니다.
예:
$array = [1, 2, 3, 4];
print_r(each($array)); // 산출: Array ( [0] => 1 [value] => 1 [key] => 0 )
Foreach 는 PHP의 배열을 가로 지르는 일반적인 방법이지만 배열 포인터를 통해 트래버스 프로세스를 수동으로 제어하려면 end () 및 각 () 를 통해이 트래버스 동작을 시뮬레이션 할 수 있습니다.
배열 초기화 : 먼저 트래버스에 배열이 필요합니다.
end ()를 사용하여 배열의 마지막 요소를 찾으십시오 . end () 함수를 호출하여 배열 포인터를 찾습니다.
각각 ()을 사용하여 배열을 가로 지르십시오 . 각 ()가 false를 반환 할 때까지 각 () 의 배열을 반복하여 배열 트래버스가 완료되었음을 나타냅니다.
<?php
$array = [1, 2, 3, 4, 5];
// 어레이의 마지막 요소로 포인터를 이동
end($array);
// 시뮬레이션 foreach 트래버스
while ($element = each($array)) {
echo "열쇠: " . $element['key'] . ",값: " . $element['value'] . "\n";
}
?>
끝 ($ 배열) : 배열의 내부 포인터를 배열의 마지막 요소로 이동하십시오.
각 ($ array) : 배열의 현재 요소의 키 값 쌍을 반환하고 포인터를 다음 요소로 이동합니다.
루프 while 루프 : 각 ()가 false를 반환 할 때까지 배열을 계속 반복하십시오.
end () 및 각 ()를 사용하여 배열 포인터를 통해 배열을 수동으로 통과하여 Foreach 와 같은 기능을 달성 할 수 있습니다. Foreach는 대부분의 경우 더 간결하고 효율적이지만 End () 및 각 ()는 배열 포인터의 움직임을 제어하는 데 더 많은 유연성을 갖기를 원한다면 흥미로운 대안을 제공합니다.
추가 메모 :
이 기사에서 우리가 사용한 각 () 기능은 PHP 7.2.0에서 포기되었으며 PHP 8.0에서 완전히 제거되었습니다. 따라서 더 높은 버전의 PHP를 사용하는 경우 다른 방법을 사용하여 Foreach 또는 Loops 와 같은 어레이를 반복해야 할 수도 있습니다.