在PHP中,将值推送到json中的数组中
我有一个类似于{1:[3,5,6,2,4,1],2:[]}的json,我想在数组中的键2中推送一个值,所以我想这样做{1:[3,5,6,2,4,1],2:[myvalue]}。 我试过很多方法,但都不走运。 这就是我试过的在PHP中,将值推送到json中的数组中,php,arrays,json,Php,Arrays,Json,我有一个类似于{1:[3,5,6,2,4,1],2:[]}的json,我想在数组中的键2中推送一个值,所以我想这样做{1:[3,5,6,2,4,1],2:[myvalue]}。 我试过很多方法,但都不走运。 这就是我试过的 /// json = {"1":["3","5","6","2","4","1"],"2":[]}
/// json = {"1":["3","5","6","2","4","1"],"2":[]}
$arrayparole= $json["2"];
array_push($arrayparole,"myvalue");
$json = $json + array("2"=>$arrayparole);
$record = json_encode($json);
但是不起作用。
你能帮我吗?你的JSON基本上是一个字符串。因此,您不能像以前那样使用索引访问JSON。 您需要做的是首先将JSON字符串转换为数组。拥有数组后,只有您能够使用索引/键访问值。 只能将值推入数组 不能像以前那样将数组附加到字符串
$json = $json + array("2"=>$arrayparole);
下面是将字符串转换为数组并使用array_push插入新值的示例
$jsonstring='{1:[3,5,6,2,4,1],2:[]}';
//将JSON字符串解码为数组
$array=json_decode$jsonstring,true;
//一旦你有了数组,你现在可以推送你的值了
array\u push$array[2],myvalue;
//现在可以将数组转换回json
echo json_encode$数组;
这回答了你的问题吗@如果这个答案有帮助,请将其标记为答案谢谢Afif。今天下午我会检查一下,如果可以的话,我会把它标记为答案。愚蠢的问题只是为了理解:为什么你说它是一个字符串?