मुझे पता है कि यह कुछ समय पहले पूछा / उत्तर दिया गया था, लेकिन यह जवाब प्रदान करना, क्योंकि यह कार्यात्मक रूप से समतुल्य है, इसके बावजूद यह एक असाइनमेंट ऑपरेटर नहीं है और किसी ने भी सामान्य स्ट्रिंग संघनन के लिए इसके उपयोग पर टिप्पणी नहीं की है।
आप स्ट्रिंग संयोजन के कार्यों के sprintf( प्रलेखन ) परिवार के उपयोग पर ध्यान देना चाह सकते हैं । यह असाइनमेंट ऑपरेटरों के साथ सिर्फ दो तारों के संयोजन की तुलना में बहुत अधिक स्वच्छता और प्रयोज्य प्रदान करता है।
$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" */
मैं आम तौर पर उपयोग करता हूं vsprintf, क्योंकि सरणियों के साथ काम करना व्यक्तिगत तर्कों की तुलना में मूल्य पदों का प्रबंधन करना आसान है।
$vprepend = vsprintf('%2$s%1$s', array('foo', 'bar'));
var_dump($vprepend);
/* string(6) "barfoo" */
मानों की एक सरणी के साथ, कोई भी implodeसरल स्ट्रिंग संगति के लिए मूल्यों का परिणामी सेट कर सकता है ।
var_dump(implode('', array('bar', 'foo')));
/* string(6) "barfoo" */