2011-12-04 88 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當然,這需要所有參數都是可序列化的,但實際上沒有辦法解決這個問題。函數中的註釋詳細說明了可串行化的要求,並解釋瞭如何使自己的類可序列化(它們可能已經是)。 –

相關問題