这可能是一个愚蠢的问题,但令我震惊,在这里我问.
$x="Hi";
$y=" There";
$z = $x.$y;
$a = "$x$y";
echo "$z"."
"."$a";
?>
$z使用php和串联函数提供的传统串联运算符,相反$a不这样做,
我的问题:
>通过不使用串联运算符,会影响性能吗?
>如果不是这样,为什么根本没有串联运算符.
>为什么一种工作方式有两种实施方式?
解决方法:
>仅需一点点,因为PHP必须解析整个字符串以查找变量,但是在进行串联时,它只是将两个变量拍在一起.因此,性能受到了很小的影响,但是对于大多数情况来说并不明显.
>使用串联运算符将变量$_SERVER [‘DOCUMENT_ROOT’]串联起来要容易得多(带引号,您必须将变量括在方括号中或删除数组索引中的单引号;加上它会使字符串看起来像是全部丑陋).此外,串联运算符还为格式化提供了更大的灵活性.例如,您可以将长字符串文字分解为多行,然后将其不同部分连接起来:
$blah = "This is a really really long string. I don't even know how " .
"long it is, but it's really long. Like, longer than an eel " .
"or even a boa constrictor. Wow.";
您还可以使用串联运算符直接在字符串文字中包含函数的返回值(不能在双引号字符串中包含函数调用),如下所示:
$blah = "This has a " . fn_call() . " result, which can't go in the quotes.";
>我不确定我是否完全理解您的要求,但是我可以说PHP是从Perl借来的很多东西,而Perl的口头禅是“有多种方法可以做到这一点.”
标签:php,concatenation
来源: https://codeday.me/bug/20191011/1892839.html