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

Posted

技术标签:

【中文标题】php只回显变量字符串的前20个字符【英文标题】:php echo only first 20 characters from a variable string 【发布时间】:2017-04-28 21:48:27 【问题描述】:

我有一种情况,我必须在不同位置为多个变量回显一定长度。

我知道在 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;

但是我必须在一些位置使用相同的变量,并且每个位置我必须回显不同的长度,所以使用上述方法是不可行的。我还缺少什么可以使用的东西吗?

【问题讨论】:

【参考方案1】:

我知道在 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);

【讨论】:

【参考方案2】:

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

function small($string)

    return substr($string, 0, 20);

将其用作:

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

【讨论】:

【参考方案3】:

除了可以回显来自substr 本身的返回值这一事实之外,您并没有遗漏任何东西。如果你想做得很短,比如如果从substr 中写入第二个参数太多,只需将其包装在一个新函数中即可。

function
ss($string, $size)

    return substr($string, 0, $size);


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

【讨论】:

【参考方案4】:

你可以使用这个echo substr($string, 0, $length);

更多你可以使用这个:

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

【讨论】:

以上是关于php只回显变量字符串的前20个字符的主要内容,如果未能解决你的问题,请参考以下文章

从返回前置响应的变量或对象中回显 PHP 中 JSON 字符串的一部分

如何以在 php 中作为字符串回显的形式填充单选按钮?

如何将 html 和 php 代码存储在要回显到 html 页面的 php 变量中

比较字符串 PHP 的前 4 个字符

PHP 一个PHP函数,用于返回字符串中的前N个单词

PHP编程效率的20个要点