在php中,使用串联运算符(.)向数组添加值的目的是什么?
我对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"
$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
)
有趣。那是无证的语法糖。也完全没有意义。所以可能只是一个古怪的教程。谢谢。我就是这么想的。