downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Opérateurs de tableaux> <Les opérateurs logiques
[edit] Last updated: Fri, 24 May 2013

view this page in

Opérateurs de chaînes

Il y a deux opérateurs de chaînes de caractères string. Le premier est l'opérateur de concaténation ('.'), qui retourne la concaténation de ses deux arguments. Le second est l'opérateur d'affectation concaténant (.=). Reportez-vous à opérateurs d'affectation pour plus de détails.

Exemple #1 Opérateur de concaténation

<?php
$a 
"Bonjour ";
$b $a "Monde !"// $b contient "Bonjour Monde !"

$a "Bonjour ";
$a $a "Monde !"// $a contient "Bonjour Monde !"
?>

Voir aussi les sections du manuel sur les types de chaînes de caractères et les chaînes de caractères.



Opérateurs de tableaux> <Les opérateurs logiques
[edit] Last updated: Fri, 24 May 2013
 
add a note add a note User Contributed Notes Opérateurs de chaînes - [5 notes]
up
4
anders dot benke at telia dot com
9 years ago
A word of caution - the dot operator has the same precedence as + and -, which can yield unexpected results.

Example:

<php
$var = 3;

echo "Result: " . $var + 3;
?>

The above will print out "3" instead of "Result: 6", since first the string "Result3" is created and this is then added to 3 yielding 3, non-empty non-numeric strings being converted to 0.

To print "Result: 6", use parantheses to alter precedence:

<php
$var = 3;

echo "Result: " . ($var + 3);
?>
up
5
K.Alex
4 months ago
As for me, curly braces serve good substitution for concatenation, and they are quicker to type and code looks cleaner. Remember to use double quotes (" ") as their content is parced by php, because in single quotes (' ') you'll get litaral name of variable provided:

<?php

 $a
= '12345';

// This works:
 
echo "qwe{$a}rty"; // qwe12345rty, using braces
 
echo "qwe" . $a . "rty"; // qwe12345rty, concatenation used

// Does not work:
 
echo 'qwe{$a}rty'; // qwe{$a}rty, single quotes are not parsed
 
echo "qwe$arty"; // qwe, because $a became $arty, which is undefined

?>
up
6
hexidecimalgadget at hotmail dot com
4 years ago
If you attempt to add numbers with a concatenation operator, your result will be the result of those numbers as strings.

<?php

echo "thr"."ee";           //prints the string "three"
echo "twe" . "lve";        //prints the string "twelve"
echo 1 . 2;                //prints the string "12"
echo 1.2;                  //prints the number 1.2
echo 1+2;                  //prints the number 3

?>
up
2
Stephen Clay
7 years ago
<?php
"{$str1}{$str2}{$str3}"; // one concat = fast
 
$str1. $str2. $str3;   // two concats = slow
?>
Use double quotes to concat more than two strings instead of multiple '.' operators.  PHP is forced to re-concatenate with every '.' operator.
up
1
mariusads::at::helpedia.com
4 years ago
Be careful so that you don't type "." instead of ";" at the end of a line.

It took me more than 30 minutes to debug a long script because of something like this:

<?
echo 'a'.
$c = 'x';
echo 'b';
echo 'c';
?>

The output is "axbc", because of the dot on the first line.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites