2016-04-29 40 views
0

的var_dump函数示出为每个对象输出一个对象indentifier,例如:访问对象标识符,如var_dump?

$now = new \DateTimeImmutable(); 
var_dump($now); 

的输出是:

object(DateTimeImmutable)#412 (3) { 
    ["date"]=> 
    string(26) "2016-04-29 21:31:55.000000" 
    ["timezone_type"]=> 
    int(3) 
    ["timezone"]=> 
    string(3) "UTC" 
} 

这是412在所有的当前对象的组独特?

如何更有效地访问此号码?

+0

这只是PHP内部使用的标识符。这不可能是独一无二的。 – miken32

+0

'如何更有效地访问这个数字' - 为了什么?你想达到什么? –

+0

我想在关闭程序之前保存所有当前对象,然后再次加载它们。我想用这个标识符知道我没有两次保存同一个对象 –

回答

1

我不认为内部标识符是你不必担心的。如果您想保存变量并稍后恢复它们,则可以使用serialize()unserialize()

编辑:可能是spl_object_hash()可能是你需要什么?

http://php.net/spl_object_hash

+0

是的,这就是我正在做的事情。但我的对象很大,这就是为什么寻找其他方式 –

+0

检查我在答案中添加的SPL功能! –