정의되지 않은 오프셋 PHP 오류
PHP정의되지 않은 오프셋 PHP 오류
PHP에서 다음과 같은 오류가 발생합니다.
그것을 일으키는 PHP 코드는 다음과 같습니다.
<?php
# ...
function get_match($regex, $content)
{
preg_match($regex,$content,$matches);
return $matches[1]; // ERROR HAPPENS HERE
}
오류는 무엇을 의미합니까?
해결법
-
==============================
1.preg_match가 일치하는 것을 찾지 못하면 $ matches는 빈 배열입니다. 예를 들어, $ matches [0]에 액세스하기 전에 preg_match가 일치하는 항목을 찾았는지 확인해야합니다.
preg_match가 일치하는 것을 찾지 못하면 $ matches는 빈 배열입니다. 예를 들어, $ matches [0]에 액세스하기 전에 preg_match가 일치하는 항목을 찾았는지 확인해야합니다.
function get_match($regex,$content) { if (preg_match($regex,$content,$matches)) { return $matches[0]; } else { return null; } }
-
==============================
2.PHP에서이 오류를 재현하는 방법 :
PHP에서이 오류를 재현하는 방법 :
빈 배열을 만들고 다음과 같은 키가 주어진 값을 요청하십시오.
php> $foobar = array(); php> echo gettype($foobar); array php> echo $foobar[0]; PHP Notice: Undefined offset: 0 in /usr/local/lib/python2.7/dist-packages/phpsh/phpsh.php(578) : eval()'d code on line 1
어떻게 된 거예요?
배열에 포함되지 않은 키가 주어진 값을 제공하도록 요청했습니다. 그것은 당신에게 NULL 값을주고 그 오류 로그에 위의 오류를 넣을 것입니다.
그것은 배열에서 귀하의 키를 찾고, 정의되지 않은 것으로 나타났습니다.
오류가 발생하지 않도록하는 방법?
키 값을 묻기 전에 키가 먼저 존재하는지 물어보십시오.
php> echo array_key_exists(0, $foobar) == false; 1
키가 존재하면 값을 가져오고, 존재하지 않으면 그 값을 질의 할 필요가 없습니다.
-
==============================
3.PHP에서 정의되지 않은 오프셋 오류는 Java에서 'ArrayIndexOutOfBoundException'과 같습니다.
PHP에서 정의되지 않은 오프셋 오류는 Java에서 'ArrayIndexOutOfBoundException'과 같습니다.
예:
<?php $arr=array('Hello','world');//(0=>Hello,1=>world) echo $arr[2]; ?>
오류 : 정의되지 않은 오프셋 2
존재하지 않는 배열 키를 말하는 것입니다. "오프셋" 숫자 배열의 정수 키를 말하며, "index"는 숫자 배열의 정수 키를 나타냅니다. 연관 배열의 문자열 키.
-
==============================
4.정의되지 않은 오프셋은 빈 배열 키가 있다는 것을 의미합니다.
정의되지 않은 오프셋은 빈 배열 키가 있다는 것을 의미합니다.
$a = array('Felix','Jon','Java'); // This will result in an "Undefined offset" because the size of the array // is three (3), thus, 0,1,2 without 3 echo $a[3];
루프를 사용하여 문제를 해결할 수 있습니다 (while).
$i = 0; while ($row = mysqli_fetch_assoc($result)) { // Increase count by 1, thus, $i=1 $i++; $groupname[$i] = base64_decode(base64_decode($row['groupname'])); // Set the first position of the array to null or empty $groupname[0] = ""; }
from https://stackoverflow.com/questions/2508215/undefined-offset-php-error by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
속성 [title]이 (가)이 컬렉션 인스턴스에 없습니다. (0) | 2018.09.18 |
---|---|
PHP 메일 ()을 통해 보낸 메일이 스팸 메일을 보내지 않도록하려면 어떻게합니까? (0) | 2018.09.18 |
print_r로 인쇄 된 배열의 출력으로부터 어떻게 배열을 만드나요? (0) | 2018.09.18 |
PHP : 배열 값을 즉시 접근 (0) | 2018.09.18 |
HTML / PHP - 양식 - 배열로 입력 (0) | 2018.09.18 |