주의사항 PHP에서 정의되지 않은 인덱스는 실제로 존재하지도 않는 값이나 변수에 접근하려고 할 때 발생하는 오류입니다. 정의되지 않은 인덱스는 지속되지 않는 변수에 액세스하려고 할 때 발생하는 일반적인 오류입니다. 예를 들어, 인덱스에 액세스하려는 배열은 실제로 존재하지 않으므로 이 시나리오에서는 PHP에서 정의되지 않은 인덱스를 얻습니다. 여기서 정의되지 않음은 해당 값을 정의하지 않았으며 해당 값에 액세스하려고 함을 의미합니다.
광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
PHP에는 정의되지 않은 인덱스에 대해 정의된 구문이 없습니다. 왜냐하면 실제로 존재하지 않거나 할당된 값이 없는 코드의 값이나 변수에 액세스하려고 할 때 발생하는 일종의 오류이기 때문입니다. 코드 어딘가에 있는 값에 액세스하려고 합니다.
$myarray = array(value1, value2, value3, so on..) $myarray[value_does_not_exists]
위 구문에서는 배열에 존재하지 않는 키를 전달하여 배열에 액세스하려고 합니다. 따라서 런타임 시 정의되지 않은 인덱스 오류가 발생합니다.
프로그래밍하는 동안 이를 수행할 수 있는 방법의 한 가지 예를 살펴보겠습니다.
코드:
$myarray = array(100, 200, 300, 400) $myarray[1000]
이러한 방법으로 PHP에서 이 오류를 복제할 수 있지만 PHP에서 isst() 메서드를 사용하여 이러한 상황에서 코드가 작동하도록 하면 이러한 오류를 방지할 수 있습니다.
현재로서는 정의되지 않은 인덱스가 일종의 예외이거나 PHP에서 오류라고 말할 수 있다는 것을 알고 있습니다. 프로그램에 실제로 존재하지 않는 변수에 액세스하려는 경우 이런 일이 발생합니다. 이 문제는 처리되어야 합니다. 그렇지 않으면 프로그램 신청 및 종료에 심각한 문제가 발생할 수 있습니다. 프로그램에서 이러한 종류의 오류를 처리하기 위해 PHP에는 몇 가지 메소드가 정의되어 있습니다.
여기서 샘플 코드와 그 작동 방식, 프로그램에서 이러한 현상이 발생하는 방식 및 처리 방법을 살펴보겠습니다.
예:
코드:
<?php // Your code here! $myarray = array('200','300','400', '500', '600', '700', '1000'); echo $myarray[4]; echo $myarray['Hello ']; ?>
위 코드 줄에서는 '$myarray'라는 배열 하나를 만들고 그 안에 일부 문자열 정수를 사용하여 해당 값을 초기화했습니다. 두 번째 줄에서는 할당된 값을 사용하여 배열의 변수에 액세스하려고 하며 인덱스도 사용합니다. 따라서 인덱스 '4'가 배열에 있으므로 이 줄은 예상대로 잘 작동하지만 이 줄 바로 뒤에는 키로 배열 요소에 액세스하려고 하는 또 다른 줄이 있습니다. 따라서 이 경우에는 라인 번호가 언급된 주의사항: 정의되지 않은 인덱스가 PHP에 표시됩니다. 이제 코드에서 이런 일이 발생하지 않도록 방지할 수 있는 방법을 살펴보겠습니다. 이를 위해 배열의 요소나 값에 액세스하기 전에 사용할 수 있는 PHP의 두 가지 방법이 있습니다.
방법은 아래와 같습니다.
이 방법은 해당 값에 액세스하기 전에 키가 배열 내부에 있는지 여부를 확인하는 데 사용됩니다. 이 방법은 배열 요소에 액세스하려고 할 때 사용할 수 있지만 이에 대해 확실하지 않습니다. 따라서 변수의 값을 사용하기 전에 이 방법을 사용하면 해당 요소나 키가 존재하는지 확인할 수 있습니다.
이 방법은 두 개의 매개변수를 입력 매개변수로 사용합니다. 첫 번째 줄은 키이고 두 번째 줄은 배열 자체입니다.
메소드의 구문을 살펴보겠습니다
서명:
array_key_exists(your_key, your_array)
여기서 두 개의 매개변수를 전달합니다. 우리가 전달하는 키는 이를 전체 배열에 확인합니다. 반환 유형은 부울입니다. 키가 배열에 있으면 true를 반환하고, 키가 없으면 false를 반환합니다.
이 방법은 해당 값에 액세스하기 전에 변수가 프로그램에 설정되어 있는지 여부도 확인합니다. 또한 NULL 변수도 확인합니다. 두 가지 작업을 수행합니다. 첫 번째는 변수가 정의되어 있는지 확인하고 다른 하나는 NULL이 아니어야 한다는 것입니다.
서명:
isset(variables);
여기서 프로그램에서 액세스하기 전에 확인하고 싶은 변수를 전달할 수 있습니다. 이 메서드의 반환 유형도 부울입니다. 변수를 찾았고 NULL이 아닌 경우 값만큼 true를 반환합니다. 이전 조건이 지정되지 않은 경우 False를 반환합니다.
다음은 PHP 공지 정의되지 않은 인덱스의 예입니다.
이 예에서는 배열에 액세스하지 않는 키에 액세스하려고 하므로 프로그램 실행 중에 PHP에서 Notified Index 오류가 발생합니다.
코드:
<?php // Your code here! // creating an array here $myarray = array(0=>'Hi',1=>'Hello',2=>'To', 3=>'All', 4=>'Stay', 5=>'Safe', 6=>'Enjoy !!'); //try to print values from array echo $myarray[0]."\n"; echo $myarray[1]."\n"; echo $myarray[2]."\n"; //trying to access the element which does not exists. echo $myarray['World']."\n"; ?>
출력:
To prevent this error while occurring in program execution.
Code:
<?php // Your code here! // creating an array here $myarray = array(0=>'Hi',1=>'Hello',2=>'To', 3=>'All', 4=>'Stay', 5=>'Safe', 6=>'Enjoy !!'); //try to print values from array echo $myarray[0]."\n"; echo $myarray[1]."\n"; echo $myarray[2]."\n"; //trying to access the element which does not exists. if(array_key_exists('World', $myarray)){ echo "Key exists in array !!"; }else { echo "Key does not exists in array !! :)"; } ?>
Output:
Notice Undefined Index is a kind of error we got in PHP when we try to access the non-existing element from the array or in our program. One more case is that it can occur when we try to access a NULL value in the program. So we can use two methods, isset() and array_key_exists() methods in PHP, to overcome this error in the application.
위 내용은 PHP 공지 정의되지 않은 인덱스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!