PHP可以';t更改数组中的json数据
我正在为一个游戏开发一个套接字服务器,但是我在更改一些从json解码的数据时遇到了问题 我有一个名为decodecrums的函数,它从数据库中获取“crumps”或用户数据,json_对其进行解码并将其放入数组中。这工作正常,但在此之后,我无法更改任何数组数据PHP可以';t更改数组中的json数据,php,arrays,json,Php,Arrays,Json,我正在为一个游戏开发一个套接字服务器,但是我在更改一些从json解码的数据时遇到了问题 我有一个名为decodecrums的函数,它从数据库中获取“crumps”或用户数据,json_对其进行解码并将其放入数组中。这工作正常,但在此之后,我无法更改任何数组数据 $query = mysql_query("SELECT * FROM users WHERE username='".$this->username."';", $this->db); $row = mysq
$query = mysql_query("SELECT * FROM users WHERE username='".$this->username."';", $this->db);
$row = mysql_fetch_array($query);
$crumbs = json_decode($row['crumbs'], true);
$this->crumbs = $crumbs;
$this->crumbs["roomFurniture"] = "This does not work";
回显$this->crumps[“roomFurniture”]返回“
”,这是默认值(来自json数据),我也尝试过使用var_dump,但这也证实了它没有改变。我还尝试在课程开始时添加public$crumbs
,但仍然发生了这种情况
我不知道是什么原因造成的,也不知道如何修复
Var_转储$this->crumps
array(24) {
["id"]=>
int(1)
["nickname"]=>
string(7) "Default"
["email"]=>
string(0) ""
["active"]=>
int(1)
["ban"]=>
int(0)
["ismod"]=>
int(0)
["rank"]=>
int(0)
["key"]=>
string(0) ""
["head"]=>
int(0)
["face"]=>
int(0)
["neck"]=>
int(0)
["body"]=>
int(0)
["hands"]=>
int(0)
["feet"]=>
int(0)
["photo"]=>
int(0)
["flag"]=>
int(0)
["colour"]=>
int(1)
["items"]=>
array(2) {
[0]=>
int(413)
[1]=>
int(1)
}
["buddies"]=>
array(0) {
}
["ignore"]=>
array(0) {
}
["joindate"]=>
string(0) ""
["coins"]=>
int(1000)
["furniture"]=>
array(0) {
}
["roomFurniture"]=>
string(0) ""
}
你必须更新数据库表中的值。数据库中的
crumbs
是JSON格式的?@HenriqueBarcelos为什么要这样做?crumbs只从数据库中读取一次,所以我现在不需要保存它们,我甚至无法更改它,所以保存它就没有意义了。@亨里克。是的,它们在数据库中是json格式的代码>