undefined offset PHP错误

undefined offset PHP错误

我在PHP中收到以下错误

注意未定义的偏移1:在C:\ wamp \ www \ includes \ imdbgrabber.php第36行

以下是导致它的PHP代码:

<?php# ...function get_match($regex, $content)  {  
    preg_match($regex,$content,$matches);     

    return $matches[1]; // ERROR HAPPENS HERE}

错误是什么意思?


梦里花落0921
浏览 1651回答 3
3回答

大话西游666

如果preg_match没找到匹配,$matches则为空数组。因此,您应该preg_match在访问之前检查是否找到匹配项$matches[0],例如:function&nbsp;get_match($regex,$content){ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(preg_match($regex,$content,$matches))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$matches[0]; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;null; &nbsp;&nbsp;&nbsp;&nbsp;}}

白衣非少年

如何在PHP中重现此错误:创建一个空数组并询问给定键的值,如下所示:php>&nbsp;$foobar&nbsp;=&nbsp;array();php>&nbsp;echo&nbsp;gettype($foobar);array php>&nbsp;echo&nbsp;$foobar[0];PHP&nbsp;Notice:&nbsp;&nbsp;Undefined&nbsp;offset:&nbsp;0&nbsp;in&nbsp;/usr/local/lib/python2.7/dist-packages/phpsh/phpsh.php(578)&nbsp;:&nbsp;eval()'d&nbsp;code&nbsp;on&nbsp;line&nbsp;1发生了什么?您要求一个数组给出给定一个它不包含的键的值。它将为您提供NULL值,然后将上述错误放在errorlog中。它在数组中寻找你的密钥,然后找到了undefined。如何使错误不发生?在询问密钥之前,先询问密钥是否存在。php>&nbsp;echo&nbsp;array_key_exists(0,&nbsp;$foobar)&nbsp;==&nbsp;false;1如果密钥存在,则获取值,如果该值不存在,则无需查询其值。

PIPIONE

PHP中未定义的偏移量错误与Java中的“ArrayIndexOutOfBoundException”类似。例:<?php $arr=array('Hello','world');//(0=>Hello,1=>world)echo&nbsp;$arr[2];?>错误:未定义的偏移量2这意味着您指的是不存在的数组键。“Offset”是指数值数组的整数键,“index”是指关联数组的字符串键。
打开App,查看更多内容
随时随地看视频慕课网APP