了解一行PHP
这个问题在这里已经有了答案:
这是连接赋值运算符。 它将连接或添加到字符串的末尾。 所以:
$a = "Hi!";
$a .= " I";
$a .= " love";
$a .= " StackOverflow";
$a .= " a";
$a .= " lot";
echo $a; // echos "Hi! I love StackOverflow a lot"
在你的情况
$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
echo $query;
/* echos "UPDATE authors SET author=UPPER(author) WHERE id=1; UPDATE authors SET author=LOWER(author) WHERE id=2; */
它意味着$query = $query . "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query = $query . "UPDATE authors SET author=LOWER(author) WHERE id=2;";
所以它将String附加到查询变量。
你的问题是关于操作员.=
。 它是一个字符串连接的简写,后面跟着一个赋值。
由操作员分配
有一个运算符家族,我们可以通过xyz调用赋值,其中xyz表示对相同类型的操作数(如加,减,连接)的二元运算。
所以,假设我们有一个运算符⊕: int
* int
→ int
,这意味着它需要一对int
并产生另一个:
⊕(a,b)= a⊕b
比方说,我们要计算a
⊕ b
,并存储在变量的结果a
。 我们可以这样做:
a =a⊕b
但是,我们经常在编码时创建一个操作符来代表上面的行。 你应该把它作为一个单一的操作来完成,⊕操作和赋值( =
)只需一次调用:
a⊕= b⇔a = a⊕b。
一些例子
所以,就你而言,你有一个.=
运算符。 现在你知道操作操作员的任务了,你可以猜测:
$query = "Hello, "
$query .= "World!";
是相同的:
$query = "Hello, "
$query = $query . "World!";
看到?
现在,这种操作符的另一个经常使用的是+=
和-=
版本。
但是,滥用这类操作符可能导致可读代码较少(例如,特别是在处理“低级别”操作符时,例如)。
链接地址: http://www.djcxy.com/p/1831.html