So che questo è stato chiesto/risposto qualche tempo fa, ma fornendo questa risposta in quanto è funzionalmente equivalente nonostante non sia un operatore di assegnazione e nessuno ha commentato il suo utilizzo per la concatenazione generale delle stringhe.
È possibile esaminare l'uso della famiglia di funzioni sprintf
(documentation) per la concatenazione di stringhe. Offre molta più sanificazione e usabilità rispetto alla semplice combinazione di due stringhe con operatori di assegnazione.
$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" */
Normalmente uso vsprintf
, poiché lavorare con le matrici è più facile da gestire posizioni di valore di singoli argomenti.
$vprepend = vsprintf('%2$s%1$s', array('foo', 'bar'));
var_dump($vprepend);
/* string(6) "barfoo" */
anche con una serie di valori, si può semplicemente implode
l'insieme risultante di valori per semplice concatenazione di stringhe.
var_dump(implode('', array('bar', 'foo')));
/* string(6) "barfoo" */
'$ bar. = $ Pippo'? –
Garantisco James 'anche se avrebbe dovuto scrivere una risposta per questo ... – Christian
Questo accoda '$ pippo' a' $ bar', invece di anteporre '$ bar' a' $ pippo'. Il risultato è simile, ma penso che voglia mutare '$ pippo'. –