【问题标题】:PHP left string concatenation operator?PHP左字符串连接运算符?
【发布时间】:2012-11-21 05:56:18
【问题描述】:
这可能是一个非常简单易答的问题,也许不是。
要在 php 中连接一个字符串(通过附加/右连接),您可以使用:
$a = "a";
$a .= "b";
//The value will be: "ab"
我该怎么做,但反过来呢?
Ej.:
$a = "a";
$a ???? "b";
//I NEED the value to be: "ba"
【问题讨论】:
标签:
php
string
operators
concatenation
string-concatenation
【解决方案1】:
使用标准的连接运算符;不存在特殊的赋值运算符。
$a = "b" . $a;
【解决方案2】:
$a = "b" 。 $a
据我所知没有它的简写。
【解决方案3】:
$ba = "b$a"; 呢?它将返回ba!
在双引号之间定义字符串时,变量会自动解析为字符串。通过使用单引号,变量不会被解析! ('b$a' 返回b$a)。
如果原始字符串包含干扰变量解析的特殊字符,则可以将其括在大括号中:
echo "b_{$a}"; // returns: 'b_a'
// Recap
echo "b$a"; // => 'ba'
echo 'b$a'; // => 'b$a'
当您需要进行许多连接(例如,带有其属性的 html 标记)时,双引号加花括号(如果需要)是一种非常方便的解决方案。
【解决方案4】:
最接近内置函数的是使用 strpad 之类的
$a = str_pad($a, strlen($a)+strlen("b"), "b", STR_PAD_LEFT);
但正如其他人指出的那样,只做$a = "b" . $a; 会简单得多