I just discovered something. If I type this:
echo $var1 , " and " , $var2;
it is the same as:
echo $var1 . " and " . $var2;
What is the actual of concatenation operator in php? Using .
or ,
?
I just discovered something. If I type this:
echo $var1 , " and " , $var2;
it is the same as:
echo $var1 . " and " . $var2;
What is the actual of concatenation operator in php? Using .
or ,
?
"." concatenates, "," can only be used for echo
which is a language construct (sort of a function)
also see: http://stackoverflow.com/questions/1466408/difference-between-and-in-php
The actual concatenation is .
(period). Using ,
(comma) there, you are passing multiple arguments to the echo
function. (Actually, echo
is not a function but a PHP language construct, which means you can omit the parentheses around the argument list that are required for actual function calls.)
In the first case you just echo 3 different strings.
In the second case you concatenate the 3 strings and then echo the output.
So the answer is that, in order to concatenate strings you should use the dot (.)
nop it's because echo could take more then one argument, it would do the print each arguments
The .
operator is the concatenation operator. Your first example only works because the echo 'function' (technically it's a language construct, but lets not split hairs) accepts more than one parameter, and will print each one.
So your first example is calling echo with more than one parameter, and they are all being printed, vs. the second example where all the strings are being concatentated and that one big string is being printed.
Using a comma doesn't actually concatenate the strings.
See this answer to another question.
The "." is the correct concatenate operator. "echo" also accepts ",", treating it as if you are passing in a series of arguments to the "echo" method and then echoing each one. It's not truly concatenating the strings.