【发布时间】:2023-04-07 20:54:01
【问题描述】:
我想向我的客户添加信息,例如他们有权执行的操作数量
我在另一个post 上看到我们可以使用serialize() 或json_encode() 函数将数组保存在数据库中
但为什么不直接保存成这样的文本格式:["view", "edit", "delete", "save"]?
使用 json 和 serialize 函数,如何添加或删除数据?
例如使用 json_encode,我必须创建一个数据 json_decode() 并创建一个 unset() 或 array_push() 然后 json_encode()?还是有更好的方法?
【问题讨论】:
-
“但是为什么不直接保存成这样的文本格式”——嗯,JSON或者
serialize产生的PHP格式都是文本可以轻松地与原生 PHP 数组相互转换的格式……因此,您可以使用数组函数操作 PHP 数组并将结果存储到文本中或从文本中存储结果。我不清楚我/你在这里错过了什么……? -
所以你应该考虑修改你的数据库设计并将这些数据保存在一个单独的表中,其中的项目链接到拥有的信息。在继续之前尝试几个database design tutorials
-
“更好”有点主观,在某种程度上取决于您的业务需求。你说“为什么不直接以文本格式保存它:[“view”、“edit”、“delete”、“save”]”......但实际上你给出的例子是有效的 JSON,因为它发生了。 JSON是一种文本格式。这是一个很好理解的,具有现成的序列化和反序列化功能。当你自己的文本格式运行良好时,我认为没有任何意义。但您也可以考虑创建一个适当的关系表结构来存储您的数据是否是以后查询数据的更好方法。