What does the 'period' character (.) mean if used in the middle of a php string?

前端 未结 3 859
时光说笑
时光说笑 2020-12-16 20:03

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         


        
相关标签:
3条回答
  • 2020-12-16 20:22

    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"
    
    0 讨论(0)
  • 2020-12-16 20:29

    It's the concatenation operator, concatenating both strings together (making one string out of two separate strings).

    0 讨论(0)
  • 2020-12-16 20:30

    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.

    0 讨论(0)
提交回复
热议问题