php只回显变量字符串中的前20个字符

时间:2017-04-28 21:48:27

标签: php string variables

我有情况,我必须在不同的位置回应一些长度的几个变量。

我知道在bash中我们可以使用echo $ {variable:0:20​​}来实现这一点,而无需重写或改进变量。

例如在php中我希望能够做到这一点。

$string1 = "I am looking for a way to only echo the first 20 characters from a string variable";
echo $string:0:20;

我知道在这样的php中重新定义我的变量并且回应它是很简单的。

$small = substr($big, 0, 20);
echo $small;

但是我必须在许多位置使用相同的变量,并且每个位置我必须回显不同的长度,因此使用上述方法是不可行的。是否还有其他我无法使用的东西?

4 个答案:

答案 0 :(得分:2)

  

我知道在bash中我们可以使用echo $ {variable:0:20​​}来实现这一点,而无需重写或改进变量。

在PHP中,您也可以使用echo substr($variable, 0, 20);而无需重写或优化变量。

为方便起见(以及轻松修改,例如将...添加到所有包装的字符串中),您可以将其包装在一个小函数中:

function shorten($string, $maxLength) {
    return substr($string, 0, $maxLength);
}

并将其用作

echo shorten("Some very very very very very long string", 20);

甚至可以在您的函数中包含echo

function output($string, $maxLength) {
    echo substr($string, 0, $maxLength);
}

并将其用作

output("Some very very very very very long string", 20);

答案 1 :(得分:0)

最简单的解决方案是构建一个function,这样您就可以省去一些代码行,除此之外我没有看到任何其他改进,例如:

function small($string)
{
    return substr($string, 0, 20);
}

将其用作:

print small("Some sentence longer than 20 chars");

答案 2 :(得分:0)

你不会错过任何事情,只是你可以回复substr本身的返回值。如果你想要真的很短,就像从substr写第二个参数太多,只需将它包装在一个新函数中。

function
ss($string, $size)
{
    return substr($string, 0, $size);
}

echo ss('long ... string', 20);

答案 3 :(得分:0)

您可以使用此echo substr($string, 0, $length);

有关更多信息,您可以使用:

function output($string, $maxLen) {
    echo substr($string, 0, $maxLen); 
    if(strlen($string) > $maxLen) echo ' ...';
}