Je sais que cela a été demandé / répondu il y a quelque temps, mais en fournissant cette réponse car elle est fonctionnellement équivalente bien qu'elle ne soit pas un opérateur d'affectation et que personne n'a commenté son utilisation pour la concaténation générale de chaînes.
Vous voudrez peut-être examiner l'utilisation de la famille de fonctions sprintf( documentation ) pour la concaténation de chaînes. Il fournit beaucoup plus de nettoyage et de convivialité que la simple combinaison de deux chaînes avec des opérateurs d'affectation.
$foo = 'foo';
$append = sprintf('%1$s%2$s', $foo, 'bar');
var_dump($append);
/* string(6) "foobar" */
$prepend = sprintf('%1$s%2$s', 'bar', $foo);
var_dump($prepend);
/* string(6) "barfoo" */
$prependInvert = sprintf('%2$s%1$s', $foo, 'bar');
var_dump($prependInvert);
/* string(6) "barfoo" */
$wrap = sprintf('%2$s%1$s%2$s', $foo, 'bar');
var_dump($wrap);
/* string(6) "barfoobar" */
J'utilise normalement vsprintf, car travailler avec des tableaux est plus facile à gérer des positions de valeur que des arguments individuels.
$vprepend = vsprintf('%2$s%1$s', array('foo', 'bar'));
var_dump($vprepend);
/* string(6) "barfoo" */
Aussi avec un tableau de valeurs, on peut simplement implodele jeu de valeurs résultant pour une concaténation de chaîne simple.
var_dump(implode('', array('bar', 'foo')));
/* string(6) "barfoo" */