首页 > 解决方案 > 在 php 中,使用连接运算符 (.) 向数组添加值的目的是什么?

问题描述

我对 php 比较陌生,并且正在关注一个教程,其中有一个代码可以向数组添加值,如下所示:

$errors = array();
$errors[] .= 'You must enter a value';

所以我对上面的代码感到困惑。

我知道我可以声明并向数组添加值,如下所示。

$myarr = array();
$myarr[]= "aa";
$myarr[]= "bb";

print_r($myarr);

此外,我可以使用字符串连接运算符 (.) 附加字符串,如下所示:

$str = "val1"."val2";

但是在向数组添加值之前放置连接运算符 (.) 有什么意义呢?

标签: phparrays

解决方案


在这种特殊情况下,使用连接运算符毫无意义。表达式的左侧$errors[]在数组中创建了一个新的空元素$errors,因此将某些内容连接到它与分配给它的效果相同。实际上,如果您尝试使用和不使用连接运算符的以下代码,您会看到结果是相同的:

$errors = array();
$errors[] .= 'You must enter a value';
print_r($errors);

$errors = array();
$errors[] = 'You must enter a value';
print_r($errors);

输出:

Array
(
    [0] => You must enter a value
)
Array
(
    [0] => You must enter a value
)

推荐阅读