为了账号安全,请及时绑定邮箱和手机立即绑定

在php new一个对象,这个对象有没有唯一的资源标识?

在php new一个对象,这个对象有没有唯一的资源标识?

PHP
慕村225694 2019-03-17 04:36:25
$obj = new class();这个$obj有没有什么唯一资源标识,如何获取?
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

spl_object_hash 函数。

不过一般,2个不同object 算出来的值,非常非常非常非常难分辨,肉眼很看不出来差别。
所以

echo md5(spl_object_hash($obj));

查看完整回答
反对 回复 2019-03-18
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

$obj = new class();

这个$obj就是唯一标识,从代码来看new出来的class赋值给$obj,$obj就获取到了。嗯,就是这个样子。



莫名其妙的看到了我的答案被踩了两次,有点奇怪;

spl_object_hash($object);

返回的是一个对象的唯一码,是一个唯一ID,并不是什么资源标识符,搞不清楚你们是作何理解的。一般new一个对象赋值给一个变量来使用,如果说唯一的资源标识,那肯定是这个变量了(变量指的就是这个对象),单纯的对象标识是没什么用的,需要做其他处理,而从资源方面来说,是可以直接使用的。

$file = fopen($file_path);

这个$file就是一个资源,可以通过这个资源进行read,write操作

查看完整回答
反对 回复 2019-03-18
?
GCT1015

TA贡献1827条经验 获得超4个赞

var_dump 一下,就可以看到对象有一个 #? 后面有一个序号,就是对象 new 出来的顺序了

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 578 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信