/**
* 根据PHP各种类型变量生成唯一标识号
* @param mixed $mix 变量
* @return string
*/
function to_guid_string($mix) {
if (is_object($mix)) {
return spl_object_hash($mix);
//spl_object_hash — 返回指定对象的hash id
} elseif (is_resource($mix)) {
//is_resource — 检测变量是否为资源类型
$mix = get_resource_type($mix) . strval($mix);
//get_resource_type — 返回资源(resource)类型
//strval — 获取变量的字符串值
} else {
$mix = serialize($mix);
//serialize — 产生一个可存储的值的表示
//$name="津沙港湾" serialize系列化 为s:12:"津沙港湾";
}
return md5($mix);//md5 — 计算字符串的 MD5 散列值
}
class Student{
public $name='津沙港湾';
}
$stu=new Student();//对象
$fp = fopen("d:/wamp/counter.txt","w");//资源
$name="津沙港湾";//字符串
echo to_guid_string($stu);
echo "<br/>";
echo to_guid_string($fp);
echo "<br/>";
echo to_guid_string($name);
运行结果为:
00000000411ac22f0000000001dac5a4
7c8337ca66fc7eb79d20461b44630219
99a71c3a715645befef323c9a805f662