如何获取PHP字符串的最后7个字符?

如何获取PHP字符串的最后7个字符?,php,string,Php,String,我如何获取下面字符串的最后7个字符 例如: $dynamicstring = "2490slkj409slk5409els"; $newstring = some_function($dynamicstring); echo "The new string is: " . $newstring; 这将显示: 新字符串为:5409els umh。。像那样 $newstring = substr($dynamicstring, -7); 与第二个参数的负数一起使用 $newstring = su

我如何获取下面字符串的最后7个字符

例如:

$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
这将显示:

新字符串为:5409els
umh。。像那样

$newstring = substr($dynamicstring, -7);
与第二个参数的负数一起使用

$newstring = substr($dynamicstring, -7);
从:

string substr(string$string,int$start[,int$length])

如果start为负数,则返回的字符串将从字符串末尾的第个字符开始。


在得到字符串之前最好先检查一下

$newstring = substr($dynamicstring, -7);
如果字符大于7,则返回最后7个字符,否则返回提供的字符串

或者,如果您需要返回消息,或者如果长度小于7则返回错误,请执行此操作

$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):"message";

对于使用多字节字符代码,通常使用mb_substr而不是substr。utf-8的示例:

$str = 'Ne zaman seni düşünsem';
echo substr( $str, -7 ) . ' <strong>is not equal to</strong> ' .
  mb_substr( $str, -7, null, 'UTF-8') ;
$str='Ne zaman seni dünsem';
回显子序列($str,-7)。'不等于'。
mb_substr($str,-7,null,'UTF-8');

为简单起见,如果您不想发送消息,请尝试以下操作

$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );
最后7个字符

$newstring = substr($dynamicstring, -7);
$newstring:5409els

对于前7个字符

$newstring = substr($dynamicstring, 0, 7);

$newstring:2490slk

字符串的最后7个字符:

$rest = substr( "abcdefghijklmnop", -7); // returns "jklmnop"

这个问题和这个问题根本不一样。讽刺的是,我在谷歌搜索这个话题时被带到了这里。sigh@Asaph我称之为堆栈影响。人们尝试任何方法来关闭问题,他们会做的第一件事就是将其标记为dup,只是为了标记它。用谷歌搜索问题并在答案中找到一行代码要比阅读手册容易得多,也快得多。但是如果$dynamicstring少于7个字符,则$newstring将为空。(至少在PHP5.2.6上)您可以先使用strlen检查字符数是否大于或等于7。我认为需要使用else部分返回消息。例如输入的数据无效或..这可能是最好的答案,唯一可以让它更好的是参考php手册。