Tôi biết điều này đã được hỏi / trả lời cách đây một thời gian, nhưng cung cấp câu trả lời này vì nó tương đương về mặt chức năng mặc dù nó không phải là một toán tử gán và không ai nhận xét về việc sử dụng nó để nối chuỗi chung.
Bạn có thể muốn xem xét việc sử dụng họ hàm sprintf
( tài liệu ) để nối chuỗi. Nó cung cấp nhiều khả năng sử dụng và làm sạch hơn là chỉ kết hợp hai chuỗi với các toán tử gán.
$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" */
Tôi thường sử dụng vsprintf
, vì làm việc với mảng dễ quản lý các vị trí giá trị hơn các đối số riêng lẻ.
$vprepend = vsprintf('%2$s%1$s', array('foo', 'bar'));
var_dump($vprepend);
/* string(6) "barfoo" */
Cũng với một mảng giá trị, người ta có thể chỉ cần implode
tập hợp giá trị kết quả để nối chuỗi đơn giản.
var_dump(implode('', array('bar', 'foo')));
/* string(6) "barfoo" */