如果在php字符串中间使用'周期'字符(。)是什么意思?

时间:2011-05-24 00:07:57

标签: php string character period

我对PHP很新,但我似乎无法在谷歌找到这个问题的解决方案。

以下是一些示例代码:

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

句点字符在每个字符串的中间做了什么?

即:     “blabla”。 “blabla”。 “blablalba”;

3 个答案:

答案 0 :(得分:11)

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

修改

嗯,更具体地说,如果值不是字符串,则必须将其转换为1。有关详细信息,请参阅Converting to a string

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

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”结尾。由于电子邮件标题的限制,我认为这是一个更不寻常的案例。

请记住,这些连接运算符会突破字符串,使事情变得更难阅读,因此只在必要时使用它们。

答案 1 :(得分:6)

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

$str = "aaa" . "bbb"; // evaluates to "aaabbb"
$str = $str . $str;   // now it's "aaabbbaaabbb"

答案 2 :(得分:4)

它是concatenation operator,将两个字符串连接在一起(从两个单独的字符串中创建一个字符串)。