Php 为数组创建哈希,而不考虑元素顺序
如果我有一个包含两个元素的数组,我想对它们进行哈希,那么最好的哈希方式是什么,而不考虑元素的顺序。这个问题也适用于较大的数组和多维数组 因此Php 为数组创建哈希,而不考虑元素顺序,php,arrays,hash,Php,Arrays,Hash,如果我有一个包含两个元素的数组,我想对它们进行哈希,那么最好的哈希方式是什么,而不考虑元素的顺序。这个问题也适用于较大的数组和多维数组 因此[a=1,b=2]和[b=2,a=1]将返回相同的哈希值 例如,node.js就有这样的功能。按键对数组排序,然后序列化,然后散列 ksort($array); $hash = sha1(serialize($array)); 你到底要怎么用sha1呢?也许对数组进行排序可以满足您的需要;你应该接受它,以便将问题标记为已解决;这对每个人都有帮助,包括你自己
[a=1,b=2]
和[b=2,a=1]
将返回相同的哈希值
例如,node.js就有这样的功能。按键对数组排序,然后序列化,然后散列
ksort($array);
$hash = sha1(serialize($array));
你到底要怎么用sha1呢?也许对数组进行排序可以满足您的需要;你应该接受它,以便将问题标记为已解决;这对每个人都有帮助,包括你自己。@Qirel我很好奇你为什么拒绝编辑“这个编辑引入的标签无助于定义问题的主题。”-两个建议的标签都适合这个问题,IMHO。@Fred-ii-你为什么告诉我这么快就接受答案。我才刚刚醒来。我不知道我做错了什么,向沃伦特提出了这样的基本建议;所以你是那种发布答案然后离开的人,10-4。只是找到了一个似乎不符合要求的答案。别人又问了你一个问题,但你没有回答;只有我。我考虑过分类,但不确定可靠性。我很感兴趣的是,来自nodejs的对象排序是否采用了相同的方法,尽管它看起来是这样的。源代码是。请参见第219行,其中包含
var keys=Object.keys(Object.sort()代码>