【发布时间】:2014-10-01 09:16:41
【问题描述】:
在某些页面上,我收到错误:
PHP 注意:未定义的偏移量:1 in /var/www/example.com/includes/head.php 第 23 行
代码如下:
if ($r)
{
list($r1, $r2)=explode(" ", $r[0],2);
$r1 = mb_strtolower($r1);
$r3 = " ";
$r2 = $r3.$r2;
$r[0] = $r1.$r2;
$page_title_f = $r[0]." some text";
$page_title_s = "some text ";
$page_title = $page_title_s.$page_title_f;
}
第 23 行有错误:
list($r1, $r2)=explode(" ", $r[0],2);
您能否帮助了解可能是什么问题?
更新
感谢大家的帮助!我部分解决了问题。
$r 是数据库中的行。
该脚本接受一个字符串并开始操作。将大写字母转换为小写字母。据我了解,字符串必须有一个空格,否则会出现错误“未定义的偏移量”。因为脚本试图找到第一个空格,然后合并第一个空格之前的单词,并将空格与出现在空格之后的所有内容合并。 (:我不明白他为什么这样做,如果字符串中的空格没有,就没有办法摆脱这种情况,他只是抛出一个错误。):总的来说,这是一个非常古老和糟糕的引擎网络商店,叫做 Shop-脚本。发布文件的完整列表,也许它会更清楚。
【问题讨论】:
-
$r的值是多少? -
你能提供
$r[0]的值吗?因为它给出了未定义的偏移量1(不是0,就像其他一些cmets 一样)-它很可能不能被@987654330 分解@ (或者您在视觉上看到的空格并不是严格意义上的' '字符。编辑:我假设您的意思是有错误的行在它所在的位置,而不是在$r[0] = $r1.$r2;行之后?
标签: php undefined offset explode notice