PHP-串联运算符

这可能是一个愚蠢的问题,但令我震惊,在这里我问.

<?php
  $x="Hi";
  $y=" There";
  $z = $x.$y;
  $a = "$x$y";
  echo "$z"."<br />"."$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的口头禅是“有多种方法可以做到这一点.”

上一篇:为什么Python中的串联速度越来越慢?


下一篇:php中的字符串和变量连接