简介:
我需要一个可以获取数组并返回其哈希值的函数。
这应该类似于spl_object_hash(),除了它返回给定数组的哈希。
所以,到目前为止我已经尝试过
function array_hash(array $array) {
return spl_object_hash((object) $array);
}
问题
1) 该算法本身效率不高。例如,如果我通过这样的事情怎么办:
$array = array(
'foo' => 'bar',
'bool' => false,
'junk' => array(
'junk1' => array('foo' => array('__test__'))
)
)
它不会将嵌套数组转换为对象。
2)另一个主要问题是,spl_object_hash()
在每个新的 HTTP 请求上为同一个对象返回不同的哈希值。
问题
再说一遍:我需要一个数组的持久散列。与 不同spl_object_hash()
的是, 将在每个 HTTP 请求上保持不变。我怎样才能正确地做到这一点?