BOARD

문제 해결

PHP 7.2 이상 버전 each() 함수 오류 해결 및 foreach 대체 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 26회 작성일 26-09-12 18:33

본문

PHP 7.2 이상 버전 each() 함수 오류 해결 및 foreach 대체 방법

PHP 버전 업그레이드 후 그누보드 등 웹사이트에 발생하는 each() 함수 디프리케이트 오류 원인과, 배열 사용 형태별 foreach 대체 코드 수정 방법을 안내합니다.

PHP 7.2 이상 환경에서 each() 함수 오류 원인

PHP 7.2 이상의 환경으로 서버를 이전하거나 PHP 버전을 업그레이드한 후 웹사이트 화면에 Deprecated: The each() function is deprecated 오류 메시지가 출력되는 원인은 기존 PHP 버전에서 사용하던 each() 함수가 최신 PHP 버전에서 지원되지 않기 때문입니다.

each() 함수는 PHP 7.2.0부터 사용이 권장되지(Deprecated) 않으며, PHP 8.0.0부터는 언어에서 완전히 제거되었습니다. 따라서 해당 함수를 사용하는 기존 코드는 반드시 foreach 문을 사용하는 방식으로 변경해야 합니다.

배열의 키 또는 값만 필요한 경우 foreach 대체 방법

PHP 7.2 이상 환경에서 each() 함수 사용으로 인해 오류가 발생할 때, 배열을 다루는 방식에 따라 foreach 문으로 코드를 수정합니다. 코드를 수정하기 전 반드시 해당 파일의 원본을 백업해야 합니다.

1. 키(key)만 필요한 경우

기존의 reset($array); while (list($key, ) = each($array)) { ... } 코드는 아래와 같이 수정합니다.

foreach(array_keys($array) as $key) { ... }

2. 값(value)만 필요한 경우

기존의 reset($array); while (list(, $value) = each($array)) { ... } 코드는 아래와 같이 수정합니다.

foreach($array as $value) { ... }

수정 후 확인 및 복구

코드 수정 후 확인 및 복구 절차는 Q4를 참조하십시오.

PHP 7.2 이상에서 each() 함수 오류 해결 및 키와 값 동시 사용 foreach 변경 방법

PHP 7.2 이상 버전으로 서버를 이전하거나 PHP 버전을 업그레이드한 후 Deprecated: The each() function is deprecated 오류가 발생할 때, 배열의 키와 값을 동시에 사용하는 기존 each() 반복문은 foreach 문으로 변경해야 합니다.

3. 키와 값을 모두 사용하는 경우

기존 코드:

reset($array);
while (list($key, $value) = each($array)) {
    ...
}

수정 코드:

foreach($array as $key => $value) {
    ...
}

주의사항 및 복구

코드 수정 전후 주의사항 및 복구 절차는 Q4를 참조하십시오.

코드 수정 전후 주의사항 및 복구 방법

PHP 7.2 이상 환경에서 each() 함수 오류를 해결하기 위해 코드를 수정할 때 지켜야 할 주의사항과 사이트 복구 방법은 다음과 같습니다.

  • 수정 전 백업: 코드를 수정하기 전, 반드시 해당 파일의 원본을 백업해야 합니다.
  • 수정 후 확인: 코드를 수정한 후에는 웹사이트에서 해당 기능이 포함된 페이지에 접속하여 오류 메시지가 사라지고 데이터가 정상적으로 출력되는지 확인해야 합니다.
  • 사이트 복구: 만약 수정 후 사이트가 정상적으로 작동하지 않는다면, 백업해 둔 원본 파일을 다시 업로드하여 이전 상태로 복구할 수 있습니다.

상황별 판단 가이드

내 상황선택 기준다음 행동
PHP 7.2 이상 환경에서 each() 오류 발생each() 함수는 PHP 7.2부터 권장되지 않고 8.0에서 제거됨배열 사용 방식(키/값)에 따라 foreach 문으로 코드 변경
코드 수정 전수정 중 발생할 수 있는 오류 대비해당 파일의 원본을 반드시 백업
배열의 키/값 사용 방식 확인필요한 데이터에 따라 문법 선택키만 필요 시 foreach(array_keys($array) as $key), 값만 필요 시 foreach($array as $value), 둘 다 필요 시 foreach($array as $key => $value) 적용
수정 후 확인기능 정상 작동 여부웹페이지 접속 후 오류 메시지 소실 및 데이터 출력 확인, 문제 시 백업본 복구

실전 FAQ

Q. 코드를 수정했는데도 오류가 계속 출력됩니다.

  • 수정된 파일이 서버에 올바르게 저장되었는지 확인하십시오. 서버 캐시나 OPcache가 활성화된 경우 이전 코드가 유지될 수 있으므로 캐시 초기화가 필요할 수 있습니다.

Q. 수정 후 사이트가 정상적으로 작동하지 않습니다.

  • 즉시 백업해 둔 원본 파일을 다시 업로드하여 사이트를 복구하십시오. 이후 foreach 문법이 올바르게 적용되었는지, 괄호나 세미콜론 등 구문 오류가 없는지 다시 검토하십시오.

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.