我想向客户添加信息,例如他们有权执行的操作数量
我在另一个post上读到,我们可以使用serialize()
或json_encode()
函数将数组保存在数据库中
但是为什么不直接将其保存为这样的文本格式:["view", "edit", "delete", "save"]
?
借助json和序列化功能,如何添加或删除数据?
例如,使用json_encode,我必须先创建数据json_decode()
,然后先创建unset()
或array_push()
,然后再创建json_encode()
?还是有更好的方法呢?
答案 0 :(得分:5)
我在另一篇文章中读到,我们可以使用serialize()或json_encode()函数将数组保存在数据库中
那并不完全正确。您可以使用这些函数将数组转换为字符串。然后,您可以将字符串保存在数据库字段中。
这不是一个好主意,因为它意味着您无法明智地搜索数组中的数据。您应该利用数据库的关系性质,并建立真实的(例如many-to-many)关系。
但是为什么不直接将其保存为以下文本格式:[“视图”,“编辑”,“删除”,“保存”]?
因为数组不是不是文本格式(如果是文本,则是json_encode
为您提供的输出)。
使用json和序列化功能,如何添加或删除数据?例如对于json_encode,我必须先创建一个数据json_decode()并先创建一个unset()或array_push()然后再创建json_encode()?
是
或者有更好的方法吗?
请参阅前面有关关系的说明。