将整个 PHP 数组散列为唯一值
寻找一种方法来生成给定 PHP 数组的文件名安全哈希。我目前正在做:
$filename = md5(print_r($someArray, true));
...但是使用print_r()来生成每个数组唯一的字符串感觉很“黑客”。
有什么聪明的想法,以更干净的方式做到这一点?
编辑好吧,似乎每个人都认为序列化更适合这项任务。有什么原因吗?我不担心在散列变量后检索有关变量的信息(这很好,因为它是单向散列!感谢您的回复!
寻找一种方法来生成给定 PHP 数组的文件名安全哈希。我目前正在做:
$filename = md5(print_r($someArray, true));
...但是使用print_r()来生成每个数组唯一的字符串感觉很“黑客”。
有什么聪明的想法,以更干净的方式做到这一点?
编辑好吧,似乎每个人都认为序列化更适合这项任务。有什么原因吗?我不担心在散列变量后检索有关变量的信息(这很好,因为它是单向散列!感谢您的回复!
请代替 使用 。md5(serialize())
print_r()
print_r()
的用途主要是作为调试函数,其格式设置为纯文本显示,而将数组或对象表示形式编码为紧凑的文本字符串,以便在数据库或会话存储(或任何其他持久化机制)中持久化。serialize()