2011-03-01 119 views
1

希望对某人来说这是一件容易的事情。基本上我有一堆SQLite3Result对象,它们在一个类中存储缓存的数据。当一个方法以结果作为参数调用时,我需要能够引用这些数据。我认为最好将缓存保存在一个数组中,其中键是结果对象的唯一标识符。PHP获取对象标识

那么,有没有办法得到一个对象的唯一标识符?像'other'语言中的addressof()函数一样。我只是需要一些东西,以便随后调用结果作为参数的方法时,我可以根据该结果查找缓存的数据。

回答

2

由于您的缓存数据由您的SQLite结果表示,因此您可以使用它们的主键标识符作为缓存的标识符。

一个基于PHP OOP的替代方案是spl_object_hash(),但即使多个数据对象被同一个数据库行引用,也会为每个唯一对象创建一个散列。

+0

谢谢! spl_object_hash正是我所追求的!我不知道为什么在我的任何搜索中都没有出现。实际上,即使它是针对相同的数据库行,表或其他类型,实际上也需要散列值不同。我只需要为每个单独的对象提供一个标识符,因为它们都需要独立工作,而不考虑事物的SQL方面。 – 2011-03-01 00:53:17

+0

@Jamie Carl:那确实是你需要的。很高兴我帮助:) – BoltClock 2011-03-01 00:56:59

+0

现在实施,并完美地工作。再次感谢。 – 2011-03-01 02:24:34