我基本上知道如何通过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
我希望一定有一些简单的方法可以做到这一点。谢谢你的帮助。
抱歉的DUBLICATE
这就是你想要的:
$json->{"newObject".$id} = "value";
该特性称为可变属性。它允许您在PHP中使用字符串和变量从对象中分配和获取属性。
可以使用
$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
)
)