0

我基本上知道如何通过 PHP 向 JSON 添加新的键值对,例如:

$json->newObject = "value";

然而,我无法弄清楚的是如何给这对的密钥,一个随机 ID。

我试过类似的东西:

$id = rand(99, 9999);
$json["newObject" . $id] = "value";

出现以下错误:Fatal error: Cannot use object of type stdClass as array in /home/methodjs/public_html/projects/chat/send.php on line 8

和:

$id = rand(99, 9999);
$json->("newObject" . $id) = "value";

出现以下错误:Parse error: syntax error, unexpected '(', expecting T_STRING or T_VARIABLE or '{' or '$' in /home/methodjs/public_html/projects/chat/send.php on line 8

我希望有一些简单的方法可以做到这一点。谢谢你的帮助。

抱歉重复

4

2 回答 2

1

这就是你想要的:

$json->{"newObject".$id} = "value";

该功能称为变量属性。它允许您使用字符串和变量从 PHP 中的对象分配和获取属性。

于 2013-04-04T23:56:19.403 回答
1

您可以使用

$json = "{}";
$json = json_decode($json);

$json->newObject = "value";

$id = rand(99, 9999);
$json->{"newObject" . $id} = "value";

$json->array = array(mt_rand(),mt_rand());

print_r($json);

输出

stdClass Object
(
    [newObject] => value
    [newObject1764] => value
    [array] => Array
        (
            [0] => 1176886102
            [1] => 1306108513
        )

)
于 2013-04-04T23:56:29.730 回答