duandaotui5633 2011-12-09 19:40
浏览 41
已采纳

PHP错误注意:未定义的偏移量

Hello I'm getting the following error

Notice:  Undefined offset: 1 in file.php on line 113

line 113 is $publish_content=$matches2[1];

This is my code

    if(!preg_match('/\<content\:encoded\>(?:\<\!\[CDATA\[)?(.*?)(?:\]\]\>)?\<\/content\:encoded\>/si',$item,$matches2)){
        for($i2=0;$i2<count($info_tag_pairs);$i2++){
            if(preg_match('/'.custom_preg_quote($info_tag_pairs[$i2][0]).'(.*?)'.custom_preg_quote($info_tag_pairs[$i2][1]).'/si',$item,$matches2)){
                break;
            }
        }
    }

    $publish_content=$matches2[1];
    $publish_content=strip_tags($publish_content);
    $publish_content=preg_replace('/'.arrayToString($rkws,'|','custom_preg_quote').'/si','',$publish_content);
    $publish_content=trim($publish_content);
    //echo $item;
    if(!preg_match_all('/\<category\>(?:\<\!\[CDATA\[)?(.*?)(?:\]\]\>)?\<\/category\>/si',$item,$matches2)){
        for($i2=0;$i2<count($category_tag_pairs);$i2++){
            if(preg_match_all('/'.custom_preg_quote($category_tag_pairs[$i2][0]).'(.*?)'.custom_preg_quote($category_tag_pairs[$i2][1]).'/si',$item,$matches2)){
                break;
            }
        }
    }
  • 写回答

2条回答 默认 最新

  • dpx49470 2011-12-11 12:12
    关注

    A way to avoid those notices thrown by php is test if the value is set before doing anything with the value.

    <?php
    
    if (isset($matches2[1])) {
        // do what you need with $matches2[1]
        // ...
    }
    
    // or
    
    if ( ! isset($matches2[1])) {
        // here you are sure $matches2[1] doesn't exist
        return;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?