我有这样的代码:
$len = strlen($string);
if ($string{$len-1} == '-') {
// Do stuff...
}
然而,我得到以下注意错误:
Uninitialized string offset: -1
当我var_dump($len-1)
的值,我得到:
int 3
当我var_dump($string)
时,我得到:
string 'bobo' (length=4)
那么谁能告诉我为什么这会导致NOTICE错误?
为防止通知,在if
语句中添加附加条件:
$len = strlen($string);
if ($len > 0 && $string{$len-1} == '-')
// Do stuff...
}
或使用substr
功能:
if (substr($string, -1) == '-') {
// Do stuff...
}
$len = strlen($string);
if(isset($string{$len-1})){
if ($string{$len-1} == '-') {
// Do stuff...
}
}