我对 php 比较陌生,正在学习一个教程,其中有一个代码可以像这样向数组添加值:
$errors = array();
$errors[] .= 'You must enter a value';
Run Code Online (Sandbox Code Playgroud)
所以我对上面的代码感到困惑。
我知道我可以像下面这样向数组声明和添加值。
$myarr = array();
$myarr[]= "aa";
$myarr[]= "bb";
print_r($myarr);
Run Code Online (Sandbox Code Playgroud)
此外,我可以使用字符串连接运算符 (.) 附加字符串,如下所示:
$str = "val1"."val2";
Run Code Online (Sandbox Code Playgroud)
但是在向数组添加值之前放置连接运算符 (.) 有什么意义呢?
在这种特殊情况下,使用连接运算符没有意义。表达式的左侧$errors[]在$errors数组中创建一个新的空元素,因此将某些内容连接到它与分配给它的效果相同。实际上,如果您尝试使用和不使用连接运算符的以下代码,您会看到结果是相同的:
$errors = array();
$errors[] .= 'You must enter a value';
print_r($errors);
$errors = array();
$errors[] = 'You must enter a value';
print_r($errors);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => You must enter a value
)
Array
(
[0] => You must enter a value
)
Run Code Online (Sandbox Code Playgroud)