Home >Backend Development >PHP Tutorial >Notice: Solution to Undefined offset, noticeundefined_PHP tutorial

Notice: Solution to Undefined offset, noticeundefined_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:54:481408browse

Notice: Undefined offset solution, noticeundefined

An error message always appears when debugging the program:

Notice: Undefined offset: 1 in xxx.php on line 48
Notice: Undefined offset: 2 in xxx.php on line 48

Notice: Undefined offset: 3 in xxx.php on line 48

Notice: Undefined offset: 4 in xxx.php on line 48

This problem often occurs in arrays. The program can run correctly, but this prompt will always appear on the screen: Notice: Undefined offset: ..... The method of suppressing its display is generally used on the Internet. That is, change the error_repoting parameter in the php.ini file to "EALL & Notice" so that the screen can be displayed normally.

The problem is solved, but I still can’t figure out what offset: the following numbers (such as Notice: Undefined offset: 4….) mean. Also, the grammar in the sentence is obviously correct, why does a warning appear? . I thought calmly several times and tried every possibility, and finally found the answer. Offset: The following number is the wrong array subscript, which is generally beyond the value range of the array, such as defining the array $A[] There are 10 digits. If $A[10] appears, an error will occur (Notice: Undefined offset: 10 ....). Because the subscript of the array starts from 0, the subscript of this array can only be 0~9. Therefore, when this kind of problem occurs, do not rush to use the method of suppressing the display (it is easier to add the sentence "error_reporting (fill in offset: the next number);" at the front of the current file. Be sure to pay attention. Think carefully about the array subscript you used, and the problem will be solved soon! It is also possible that you unset the array and then try to read its content. The PHP manual has:

Just to confirm, USING UNSET CAN DESTROY AN ENTIRE ARRAY. I couldn’t find reference to this anywhere so I decided to write this.

The difference between using unset and using $myarray=array(); to unset is that obviously the array will just be overwritten and will still exist.
$myarray=array("Hello"," World");
echo $myarray[0].$myarray[1];
unset($myarray);
//$myarray=array();
echo $myarray[0] .$myarray[1];
echo $myarray;
?>
Output with unset is:
HelloWorld
Notice: Undefined offset: 0 in C: webpagesdainsidermyarray.php on line 10
Notice: Undefined offset: 1 in C:webpagesdainsidermyarray.php on line 10
Output with $myarray=array(); is:
?>
HelloWorld
Notice: Undefined offset: 0 in C:webpagesdainsidermyarray.php on line 10
Notice: Undefined offset: 1 in C:webpagesdainsidermyarray.php on line 10
Array

?>

This is the root cause of the problem.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/995934.htmlTechArticleNotice: Undefined offset solution, noticeundefined error message always appears when debugging the program: Notice: Undefined offset: 1 in xxx .php on line 48 Notice : Undefined o...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn