【发布时间】:2015-08-23 10:54:32
【问题描述】:
我有这个代码:
$len = strlen($string);
if ($string{$len-1} == '-') {
// Do stuff...
}
但是我收到以下 NOTICE 错误:
Uninitialized string offset: -1
当我var_dump($len-1)我得到的值:
int 3
当我var_dump($string) 我得到:
string 'bobo' (length=4)
那么谁能告诉我为什么这会导致 NOTICE 错误?
【问题讨论】:
-
Can't reproduce your error
var_dump($string);的输出是什么? -
看来
$string是空的,所以更新条件if ($len > 1 && $string{$len-1} == '-') -
好的,我找到了问题。似乎代码所在的函数在请求期间被调用了两次,而第一次将字符串设置为“bobo”,如上所述,第二次为空。