12

这是一些示例代码:

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

句点字符在每段字符串的中间有什么作用?

例如,

"blabla" . "blabla" . "blablalba";
4

3 回答 3

12

该运算符用于组合字符串。

编辑

好吧,更具体地说,如果一个值不是字符串,则必须将其转换为一个。有关更多详细信息,请参阅转换为字符串。

不幸的是,它有时会被误用,以至于事情变得难以阅读。以下是可以使用的:

echo "This is the result of the function: " . myfunction();

在这里,我们正在组合一个函数的输出。这没关系,因为我们没有办法使用标准的内联字符串语法来做到这一点。一些不当使用它的方法:

echo "The result is: " . $result;

在这里,您有一个名为的变量$result,我们可以将其内联到字符串中:

echo "The result is: $result";

另一个难以发现的误用是:

echo "The results are: " . $myarray['myvalue'] . " and " . $class->property;

如果您不了解{}内联变量的转义序列,这有点棘手:

echo "The results are: {$myarray['myvalue']} and {$class->property}";

关于引用的示例:

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

这有点棘手,因为如果我们不使用连接运算符,我们可能会意外发送换行符,因此这会强制行以“\r\n”结尾。由于电子邮件标题的限制,我认为这是一个更不寻常的情况。

请记住,这些连接运算符从字符串中分离出来,使内容更难阅读,因此仅在必要时使用它们。

于 2011-05-24T00:19:37.727 回答
6

它是连接运算符。它将两个字符串连接在一起。例如:

$str = "aaa" . "bbb"; // evaluates to "aaabbb"
$str = $str . $str;   // now it's "aaabbbaaabbb"
于 2011-05-24T00:09:48.533 回答
4

它是连接运算符,将两个字符串连接在一起(从两个单独的字符串中生成一个字符串)。

于 2011-05-24T00:10:32.467 回答