使用PHP simplexml_load_string函数变量更新MongoDB添加额外的';0';价值的关


Updating MongoDB using PHP simplexml_load_string function variables adding extra '0' key to value

我有一个脚本,试图用从服务器收到的xml响应更新MongoDB集合。我正在对响应执行simplexml_load_string()。但是,在更新字段时,它会在我试图添加的值中添加一个额外的"0"键。这是代码:

$xml = simplexml_load_string($response);
if($xml->type == "reject") {
    $status = $xml->type;
    $message = $xml->message;
}
$update = array('$set' => array('status' => $status, 'response' => $message));

这就是我所期待的:

{ "_id" : ObjectID("..."), "status" : "reject", "response" : "The message." }

然而,以下是保存在MongoDB中的条目:

{ "_id" : ObjectID("..."), "status" : { "0" : "reject" }, "response" : { "0" : "The message." } }

你知道发生了什么,或者对如何解决它有什么建议吗?谢谢

$xml->type$xml->message可能是对象,而不是字符串。您可能想要var_dump来查看它的实际内容,然后将其转换为字符串。