$obj = new class();这个$obj有没有什么唯一资源标识,如何获取?
3 回答
![?](http://img1.sycdn.imooc.com/545850c80001ebf202200220-100-100.jpg)
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
spl_object_hash 函数。
不过一般,2个不同object 算出来的值,非常非常非常非常难分辨,肉眼很看不出来差别。
所以
echo md5(spl_object_hash($obj));
![?](http://img1.sycdn.imooc.com/545862120001766302200220-100-100.jpg)
呼啦一阵风
TA贡献1802条经验 获得超6个赞
$obj = new class();
这个$obj就是唯一标识,从代码来看new出来的class赋值给$obj,$obj就获取到了。嗯,就是这个样子。
莫名其妙的看到了我的答案被踩了两次,有点奇怪;
spl_object_hash($object);
返回的是一个对象的唯一码,是一个唯一ID,并不是什么资源标识符,搞不清楚你们是作何理解的。一般new一个对象赋值给一个变量来使用,如果说唯一的资源标识,那肯定是这个变量了(变量指的就是这个对象),单纯的对象标识是没什么用的,需要做其他处理,而从资源方面来说,是可以直接使用的。
如
$file = fopen($file_path);
这个$file就是一个资源,可以通过这个资源进行read,write操作
- 3 回答
- 0 关注
- 578 浏览
添加回答
举报
0/150
提交
取消