首页 > 解决方案 > 在php中使用连接赋值运算符之前是否需要定义一个变量?

问题描述

我已经尝试过并且知道如果我使用

$a .="test";
$a .=" test2";

并回显 $a

echo $a

它返回

test test2

也适用于数组

<?php 
$testarray['Title'] = "test";
$testarray['text'] = "text";
 print_r($testarray); 

 ?>

它给出了正确的结果而不声明 $testarray=[];

Array ( [Title] => test [text] => text )

它甚至没有显示警告或通知..所以我只想知道在之前声明变量或两者都可以的好习惯..如果它与任何特定的php版本相关..我使用php 7.1会它在早期版本中显示错误?

标签: phparraysstring

解决方案


,没有必要,但最好先声明/初始化变量。

实际上,如果您遵循任何编码标准,您显然会避免使用连接赋值运算符;您收到 PHP 通知是有原因的。

第二种情况不一定是坏事。如果在闭包中使用数组变量并且没有歧义,则可以说没问题。但是,如果我们谈论一个大文件、一个类属性或另一个关键部分,那么当您以这种方式使用(关联)数组时,您可能仍然做错了。

这里的一般建议是,遵循手头框架提出的编码标准。大多数较大的框架都有编码指南(这里有一个很好的概述),否则坚持PSR-2PSR-1或一些自定义编码标准(例如this);重要的是:保持一致


推荐阅读