>백엔드 개발 >PHP 문제 >PHP에서 정의되지 않은 인덱스를 해결하는 방법

PHP에서 정의되지 않은 인덱스를 해결하는 방법

(*-*)浩
(*-*)浩원래의
2019-10-12 13:58:1510748검색

PHP에서 정의되지 않은 인덱스를 해결하는 방법

일반적으로 정의되지 않은 인덱스 문제는 이 값이 없는 배열로 인해 발생합니다. 배열은 연관 배열과 인덱스 배열로 구분됩니다. 인덱스 배열은 숫자 첨자입니다.

$POST['id']는 $POST 배열에 아래 첨자 키 값 id가 있는 값이 포함되어 있지 않기 때문에 정의되지 않은 인덱스를 보고합니다. (추천 학습: PHP 비디오 튜토리얼)

해결 방법:

배열에 아래 첨자 키 값 id가 포함되어 있는지 확인하세요. 그렇지 않은 경우 오류 메시지가 반환됩니다. 가장 간단한 방법은 무엇입니까? isset($POST['id'])와 같은 함수 isset을 사용하여 판단합니다. 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

3차 판단 방법, 존재하지 않으면 기본값을 제공합니다. $POST['id' ] = isset($POST['id'])?$POST['id']:"1";

이 알림은 사용자(또는 PHP)가 정의되지 않은 배열 인덱스입니다.

문제 해결 방법:

인덱스에 액세스하기 전에 인덱스가 있는지 확인하세요. 이를 위해 isset() 또는 array_key_exists()를 사용할 수 있습니다.

//isset()$value = isset($array['my_index']) ? $array['my_index'] : '';
//array_key_exists()$value = array_key_exists('my_index', $array) ? $array['my_index'] : '';

언어 구성 list()는 존재하지 않는 배열 인덱스에 액세스하려고 할 때 다음을 생성할 수 있습니다.

list($a, $b) = array(0 => 'a');//orlist($one, $two) = explode(',', 'test string');

두 개의 변수가 두 개의 배열 요소에 액세스하는 데 사용됩니다. 인덱스 0에는 배열 요소가 하나만 있으므로 다음이 생성됩니다.

참고: 정의되지 않은 오프셋: 1

$_POST/ $_GET/ $_SESSION 변수

$_POST를 사용할 때 위의 참고 사항 종종 $_GET 또는 $_세션.

$_POST, $_GET의 경우 인덱스를 사용하기 전에 인덱스가 존재하는지 확인하면 됩니다. $_SESSION 때문에 session_start()로 시작해야 하며 인덱스도 존재하는지 확인해야 합니다.

위 내용은 PHP에서 정의되지 않은 인덱스를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.