2011-12-04 104 views
1

我该如何生成一个哈希值,让我们说一组混合变量的md5值?从一组变量中生成一个哈希字符串

的变量可以是任何类型的,像多维数组,对象,整数等

的想法是能够在一个函数中找出如果给定的参数是完全一样在前面的那些函数调用。

这会工作,但并不适用于所有类型的瓦尔:

$args = func_get_args(); 
$args = array_values($args); 
echo md5(implode('', $args)); 
+0

你能解释为什么你需要记住一个函数是否调用了某些参数?也许有更好的解决你的问题。 – CodeCaster

+0

我需要知道是否需要生成某些函数的输出或仅从缓存中提取出来 – Alex

回答

5

也许你只需要md5(serialize($yourvar));

在这里看到:http://php.net/manual/en/function.serialize.php

+0

+1当然,这需要所有参数都是可序列化的,但实际上没有办法解决这个问题。函数中的注释详细说明了可串行化的要求,并解释了如何使自己的类可序列化(它们可能已经是)。 –

相关问题