BOARD

문제 해결

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

페이지 정보

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

본문

문제 증상

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

원인

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

해결 방법: 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) { ... }

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

기존 코드:

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

수정 코드:

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

주의사항 및 복구

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

댓글목록

등록된 댓글이 없습니다.