了解一行PHP

这个问题在这里已经有了答案:

  • 参考 - 这个符号在PHP中的含义是什么? 18个答案

  • 这是连接赋值运算符。 它将连接或添加到字符串的末尾。 所以:

    $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 * intint ,这意味着它需要一对int并产生另一个:

    ⊕(a,b)= a⊕b

    比方说,我们要计算ab ,并存储在变量的结果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

    上一篇: To understand a line of PHP

    下一篇: What is the difference between .= and += in PHP?