php - 将整个 PHP 数组散列为唯一值

标签 php arrays hash

寻找一种方法来生成给定 PHP 数组的文件名安全哈希。我目前正在做:

$filename = md5(print_r($someArray, true));

...但是使用 print_r() 生成每个数组唯一的字符串感觉“hacky”。​​

对于更清洁的方法有什么好主意吗?

编辑 好吧,似乎每个人都认为序列化更适合这项任务。有什么理由吗?我不担心在散列后检索有关变量的信息(这很好,因为它是单向散列!)。感谢您的回复!

最佳答案

使用 md5(serialize()) 代替 print_r()

print_r() 的目的主要是作为调试功能,并被格式化为纯文本显示,而 serialize() 将数组或对象表示编码为紧凑的用于在数据库或 session 存储(或任何其他持久性机制)中持久化的文本字符串。

关于php - 将整个 PHP 数组散列为唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097632/

相关文章:

php - 将数组存储到 Javascript 中

hash - 故意创建两个文件以具有相同的哈希值?

php - 是否可以通过编程方式从命令行访问 MongoDB 配置文件?

php - 内存不足PHP Laravel 5.6

javascript - 如何在 JavaScript 中获取数组循环的上一个和下一个元素?

java - 从列表中提取 String[] 元素

c - 从指针数组中替换特定字符

MySQL select by password() 未返回预期结果

python - 为什么 pip 因包的 md5 哈希错误而失败?

PHP 数组除 1 外均为零,提取该值