是否有一个php函数可以在不调用strlen的情况下使用字符串结尾的10个字符?所以我可以避免不必要的重复变量名称。
我所知道的只是substr($str,0,strlen($str)-10);
答案 0 :(得分:7)
阅读手册:http://php.net/manual/en/function.substr.php。
...
如果给出长度并且为负数,则会有多个字符 从字符串的末尾省略。
...
$rest = substr("abcdef", 0, -1); // returns "abcde"
答案 1 :(得分:4)
The documentation for substr
明确指出:
string substr ( string $string , int $start [, int $length ] )
如果给出长度并且为负数,则会有多个字符 从字符串的末尾省略(在起始位置之后) 当开始为负时计算)。如果开始表示的位置 这个截断或超出,将返回false。
所以:
$str = substr($str, 0, -10);
请始终使用文档作为参考问题的第一个停靠点。没有理由不使用它。
答案 2 :(得分:1)
这很简单:如果长度小于要删除的字符,则还应检查减去$str
的长度。
substr($str,0,-10);
答案 3 :(得分:1)
如果你给它一个负长度,它会从最后删除那么多字符。
substr($str, 0, -10);
答案 4 :(得分:0)
http://sandbox.phpcode.eu/g/4fb74.php
-10没有strlen:)
<?php
$str = "01234567890123456789";
echo substr($str,0,-10);
输出0123456789