【发布时间】:2016-05-06 21:53:12
【问题描述】:
这个问题的答案:
如何获取 PHP 字符串的最后 7 个字符? - 堆栈溢出 How can I get the last 7 characters of a PHP string?
显示此语句:
substr($s, -7)
但是,如果 $s 的长度小于 7,它将返回空字符串(在 PHP 5.2.6 上测试),例如
substr("abcd", -4) returns "abcd"
substr("bcd", -4) returns nothing
目前,我的解决方法是
trim(substr(" $s",-4)) // prepend 3 blanks
是否有另一种优雅的方式来编写 substr() 使其更完美?
====
编辑:对不起,我的帖子中 substr("bcd", -4) 的返回值的错字。它误导了这里的人。它不应该返回任何东西。我已经纠正了。 (@2016/1/29 17:03 GMT+8)
【问题讨论】:
-
substr( $s, ( strlen($s) >= 7 ? 7 : strlen($s) ) );? -
您希望在上一个示例中得到什么输出?
-
那么你想要什么输出?
-
我希望当我想得到最后 4 个字符时,但如果没有足够的字符,整个字符串将被返回,即我在标题中写的“最多”,而不是“完全”。
-
@ScottChu
substr("bcd", -4)返回整个字符串 bcd。什么真的不起作用?