如何通过一定数量的字符缩短字符串?

时间:2011-08-15 19:54:34

标签: php

是否有一个php函数可以在不调用strlen的情况下使用字符串结尾的10个字符?所以我可以避免不必要的重复变量名称。

我所知道的只是substr($str,0,strlen($str)-10);

5 个答案:

答案 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