I\'m fairly new to PHP, but I can\'t seem to find the solution to this question in google.
Here is some example code:
$headers = \'From: webmaster@e
It's the concatenation operator. It joins two strings together. For example:
$str = "aaa" . "bbb"; // evaluates to "aaabbb"
$str = $str . $str; // now it's "aaabbbaaabbb"
It's the concatenation operator, concatenating both strings together (making one string out of two separate strings).
This operator is used to combine strings.
EDIT
Well, to be more specific if a value is not a string, it has to be converted to one. See Converting to a string for a bit more detail.
Unfortunately it's sometimes mis-used to the point that things become harder to read. Here are okay uses:
echo "This is the result of the function: " . myfunction();
Here we're combining the output of a function. This is okay because we don't have a way to do this using the standard inline string syntax. A few ways to improperly use this:
echo "The result is: " . $result;
Here, you have a variable called $result
which we can inline in the string instead:
echo "The result is: $result";
Another hard to catch mis-use is this:
echo "The results are: " . $myarray['myvalue'] . " and " . $class->property;
This is a bit tricky if you don't know about the {}
escape sequence for inlining variables:
echo "The results are: {$myarray['myvalue']} and {$class->property}";
About the example cited:
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
This is a bit tricker, because if we don't use the concatenation operator, we might send out a newline by accident, so this forces lines to end in "\r\n" instead. I would consider this a more unusual case due to restrictions of email headers.
Remember, these concatenation operators break out of the string, making things a bit harder to read, so only use them when necessary.