这是一个非常基本的问题,但我正在尝试找出一些最佳实践。运算符是否.=
只是缩短某些代码的一种方法,如下所示:
$a = 'John';
$b = 'Doe';
$n = $a.' '.$b';
对此:
$n = 'John';
$n .= ' Doe';
这似乎是有道理的,但我想确保我没有遗漏任何东西。谢谢!:)
这是一个非常基本的问题,但我正在尝试找出一些最佳实践。运算符是否.=
只是缩短某些代码的一种方法,如下所示:
$a = 'John';
$b = 'Doe';
$n = $a.' '.$b';
对此:
$n = 'John';
$n .= ' Doe';
这似乎是有道理的,但我想确保我没有遗漏任何东西。谢谢!:)
你没有错过任何东西。.=
运算符仅用于此目的。
以下对是相等的:
$a = $a . 'b';
$a .= 'b';
$a = $a + 3;
$a += 3;
$a = $a - 3;
$a -= 3;
$a = $a / 3;
$a /= 3;
$a = $a * 3;
$a *= 3;
你明白了。就是这样。
$a .= $b;
相当于:
$a = $a . $b;
只需确保事先定义了这两个变量。使用速记时容易让人忘记,但不应该进行$a .= $b
没有定义的调用。$a
您应该始终显式地初始化变量。
要实际缩短一些这样的代码:
$n = 'John';
$n = $n .' Doe';
你的第一个代码连接三个字符串,第二个只有两个
,而你的第一个代码用 .=
$n = 'John';
$n .= ' ';
$n .= 'Doe';
你是对的。这只是为了编写更简洁的代码。很像+=
在javascript中。
$forename = 'John ';
$surname = 'Bennet';
$forname = $forename . $surname;
echo $forname;
是相同的
$forename = 'John ';
$surname = 'Bennet';
$forename .= $surname;
echo $forname;
两个输出是相同的:
John Bennet