真实的情况不起作用

时间:2014-05-15 01:57:20

标签: php if-statement substring

我有一个类似于' 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);

我不知道是什么问题。

2 个答案:

答案 0 :(得分:7)

substr()your example中返回eabc。您需要使用-3:

的偏移量
$name="nameabc";
$last_char=substr($name,-3);  
if($last_char == 'abc')  

Demo

答案 1 :(得分:0)

$last_char=substr($name,-4);

如果返回&#39; abc&#39;,可能您的变量$name有一个尾随空格。您可以使用strlen($name)进行检查。它将返回8而不是7.即nameabc<space>。因此,当您打印$last_char时,它将打印为abc<space>,而您无法在屏幕中显示空间。始终trim变量是一个好习惯。

trim($name);

正如John的回答,你只需要-3来获取最后3个字符。