Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向一个JSON对象添加一个新的键值对,其中键有一个随机ID_Php_Json_Object - Fatal编程技术网

Php 向一个JSON对象添加一个新的键值对,其中键有一个随机ID

Php 向一个JSON对象添加一个新的键值对,其中键有一个随机ID,php,json,object,Php,Json,Object,我基本上知道如何通过PHP向JSON添加新的键值对,如: $json->newObject = "value"; 然而,我无法弄清楚的是如何给这对密码的密钥一个随机ID 我试过这样的方法: $id = rand(99, 9999); $json["newObject" . $id] = "value"; 错误为:致命错误:无法在第8行的/home/methodjs/public_html/projects/chat/send.

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

$json->newObject = "value";
然而,我无法弄清楚的是如何给这对密码的密钥一个随机ID

我试过这样的方法:

$id = rand(99, 9999);
$json["newObject" . $id] = "value";
错误为:
致命错误:无法在第8行的/home/methodjs/public_html/projects/chat/send.php中将stdClass类型的对象用作数组

以及:

错误为:
Parse error:syntax error,第8行的/home/methodjs/public_html/projects/chat/send.php中出现意外的“(”,应为T_字符串或T_变量或“{”或“$”

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


对不起,这是您想要的:

$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
        )

)

谢谢你!你每天都学到新东西
stdClass Object
(
    [newObject] => value
    [newObject1764] => value
    [array] => Array
        (
            [0] => 1176886102
            [1] => 1306108513
        )

)