1

这是一个非常基本的问题,但我正在尝试找出一些最佳实践。运算符是否.=只是缩短某些代码的一种方法,如下所示:

$a = 'John';
$b = 'Doe';
$n = $a.' '.$b';

对此:

$n = 'John';
$n .= ' Doe';

这似乎是有道理的,但我想确保我没有遗漏任何东西。谢谢!:)

4

5 回答 5

4

你没有错过任何东西。.=运算符仅用于此目的。

以下对是相等的:

$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;
于 2013-03-04T19:46:58.987 回答
4

你明白了。就是这样。

$a .= $b;

相当于:

$a = $a . $b;

只需确保事先定义了这两个变量。使用速记时容易让人忘记,但不应该进行$a .= $b没有定义的调用。$a您应该始终显式地初始化变量。

于 2013-03-04T19:47:09.597 回答
3

要实际缩短一些这样的代码

$n = 'John';
$n = $n .' Doe';

你的第一个代码连接三个字符串,第二个只有两个
,而你的第一个代码用 .=

$n  = 'John';
$n .= ' ';
$n .= 'Doe';
于 2013-03-04T19:47:45.570 回答
0

你是对的。这只是为了编写更简洁的代码。很像+=在javascript中。

于 2013-03-04T19:47:11.590 回答
0
$forename = 'John ';

$surname = 'Bennet';

$forname = $forename . $surname;

echo $forname;

是相同的

$forename = 'John ';

$surname = 'Bennet';

$forename .= $surname;

echo $forname;

两个输出是相同的:

John Bennet
于 2013-03-04T19:50:25.837 回答