2014-07-26 74 views
0

我最近碰到下面的代码片段:使用=添加到阵列中的PHP 5.3

@$this->responseData[$this->currentTag] .=$data; 

这似乎$数据指定索引处添加到阵列中。没有错误抑制,这会导致错误(未定义索引DataKey)。使用的密钥是一个字符串“DataKey”。数据是一个字符串。

我找不到有关使用。=与数组的任何文档。它为什么会给出错误? 我不想简单地压制错误并继续前进。是的,我可以使用=而不是。=。应用程序可能使用responseData进行字符串处理以及数组处理(这是非常糟糕的代码!!)。

任何帮助都会很棒。

+1

您不需要使用'。='与数组一起使用的文档,因为它用于串联字符串。所以,问题在于访问不存在的数组元素(不使用'。=')。但是你不能修改不存在的元素(你可以用'='创建它)。所以,检查一下,这个元素是否存在于数组中(如果不存在,只需添加它)。 – Ilya

+0

即字符串连接 示例。 $ a =“你好”; $ a。=“World!”; //现在$ a包含“Hello World!” 在你的情况下,当前标签的内容+你的数据。 –

+0

谢谢你们。我知道这一点。=是用于字符串的,现在我看到我正在努力研究它,并且假定在指定的索引处有一个字符串。 –

回答

0

这是concatenating assignment operaotor。我实际上不知道你想用数组来做什么。请编辑你的问题,你需要什么..串联赋值运算符将右侧的参数追加到参数上左边。

+0

感谢您的信息。我现在很清楚这个问题。 –

0

难道你只是建立一个实际的数组?

$tags = [Your query to build the array of all tag data] 
$tagnames = array(); // The array for tag names 
foreach ($tags as $tag) { 
    $tagnames[] = $tag->tagname; 
} 
print_r($tagnames);