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 字符串的一部分