我有一个类似于' nameabc'在PHP函数中。我检查字符串的最后三个字符是否是' abc'它应该删除它并返回剩余的字符串。这是我的条件:
$name="nameabc";
$last_char=substr($name,-4); //it returns the 'abc'
if($last_char == 'abc') //this condition does not return true
$real_name=substr($name,0,-4);
我不知道是什么问题。
答案 0 :(得分:7)
substr()
在your example中返回eabc
。您需要使用-3:
$name="nameabc";
$last_char=substr($name,-3);
if($last_char == 'abc')
答案 1 :(得分:0)
$last_char=substr($name,-4);
如果返回' abc',可能您的变量$name
有一个尾随空格。您可以使用strlen($name)
进行检查。它将返回8而不是7.即nameabc<space>
。因此,当您打印$last_char
时,它将打印为abc<space>
,而您无法在屏幕中显示空间。始终trim
变量是一个好习惯。
trim($name);
正如John的回答,你只需要-3
来获取最后3个字符。