Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中,使用串联运算符(.)向数组添加值的目的是什么?_Php_Arrays - Fatal编程技术网

在php中,使用串联运算符(.)向数组添加值的目的是什么?

在php中,使用串联运算符(.)向数组添加值的目的是什么?,php,arrays,Php,Arrays,我对php比较陌生,并遵循一个教程,其中有一段代码可以向数组中添加值,如下所示: $errors = array(); $errors[] .= 'You must enter a value'; 所以我对上面的代码感到困惑 我知道我可以像下面这样声明并向数组中添加值 $myarr = array(); $myarr[]= "aa"; $myarr[]= "bb"; print_r($myarr); 此外,我还可以使用字符串连接运算符(.)附加字符串,如下所示: $str = "val1"

我对php比较陌生,并遵循一个教程,其中有一段代码可以向数组中添加值,如下所示:

$errors = array();
$errors[] .= 'You must enter a value';
所以我对上面的代码感到困惑

我知道我可以像下面这样声明并向数组中添加值

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

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

$str = "val1"."val2";

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

在这种特殊情况下,使用连接运算符没有意义。表达式的左侧,
$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
)

有趣。那是无证的语法糖。也完全没有意义。所以可能只是一个古怪的教程。谢谢。我就是这么想的。