object id - where? [message #177902] |
Thu, 26 April 2012 09:34 |
M. Strobel
Messages: 386 Registered: December 2011
Karma: 0
|
Senior Member |
|
|
Hi,
is there something like an object id accessible?
Example: I do this
php > $a = new stdclass;
php > $a->b = new stdclass;
php > var_dump($a);
object(stdClass)#1 (1) {
["b"]=>
object(stdClass)#2 (0) {
}
}
php >
and var_dump() shows me unique ids of the classes. Is there a function for it?
/Str.
|
|
|
Re: object id - where? [message #177904 is a reply to message #177902] |
Thu, 26 April 2012 09:38 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 4/26/2012 5:34 AM, M. Strobel wrote:
> Hi,
>
> is there something like an object id accessible?
>
> Example: I do this
>
> php> $a = new stdclass;
> php> $a->b = new stdclass;
> php> var_dump($a);
> object(stdClass)#1 (1) {
> ["b"]=>
> object(stdClass)#2 (0) {
> }
> }
> php>
>
> and var_dump() shows me unique ids of the classes. Is there a function for it?
>
> /Str.
Classes do not have id's. Objects have unique ids, but they are only
for reference and can change.
Why would you want such a function?
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: object id - where? [message #177906 is a reply to message #177904] |
Thu, 26 April 2012 09:42 |
M. Strobel
Messages: 386 Registered: December 2011
Karma: 0
|
Senior Member |
|
|
Am 26.04.2012 11:38, schrieb Jerry Stuckle:
> On 4/26/2012 5:34 AM, M. Strobel wrote:
>> Hi,
>>
>> is there something like an object id accessible?
>>
>> Example: I do this
>>
>> php> $a = new stdclass;
>> php> $a->b = new stdclass;
>> php> var_dump($a);
>> object(stdClass)#1 (1) {
>> ["b"]=>
>> object(stdClass)#2 (0) {
>> }
>> }
>> php>
>>
>> and var_dump() shows me unique ids of the classes. Is there a function for it?
>>
>> /Str.
>
> Classes do not have id's. Objects have unique ids, but they are only for reference
> and can change.
>
> Why would you want such a function?
>
To detect loops in a tree. Just an idea.
I know I can give them an id, but only if it's necessary...
/Str.
|
|
|
Re: object id - where? [message #177914 is a reply to message #177906] |
Fri, 27 April 2012 00:33 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 4/26/2012 5:42 AM, M. Strobel wrote:
> Am 26.04.2012 11:38, schrieb Jerry Stuckle:
>> On 4/26/2012 5:34 AM, M. Strobel wrote:
>>> Hi,
>>>
>>> is there something like an object id accessible?
>>>
>>> Example: I do this
>>>
>>> php> $a = new stdclass;
>>> php> $a->b = new stdclass;
>>> php> var_dump($a);
>>> object(stdClass)#1 (1) {
>>> ["b"]=>
>>> object(stdClass)#2 (0) {
>>> }
>>> }
>>> php>
>>>
>>> and var_dump() shows me unique ids of the classes. Is there a function for it?
>>>
>>> /Str.
>>
>> Classes do not have id's. Objects have unique ids, but they are only for reference
>> and can change.
>>
>> Why would you want such a function?
>>
>
> To detect loops in a tree. Just an idea.
>
> I know I can give them an id, but only if it's necessary...
>
> /Str.
I'm not sure the object id remains consistent. I don't see any reason
it would change, but I've never seen anything in PHP indicating it has
to be that way, either.
I'd suggest just sticking your own id in the object. Then you know what
you have.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: object id - where? [message #177930 is a reply to message #177902] |
Fri, 27 April 2012 20:07 |
Thomas Mlynarczyk
Messages: 131 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
M. Strobel schrieb:
> is there something like an object id accessible?
You can use === to check if two variables refer to the same object:
$a = new stdclass;
$a->foo = 42;
$b = new stdclass;
$b->foo = 42;
$c = $a;
var_dump( $a === $b, $a === $c, $b === $c );
Result:
false, true, false
Greetings,
Thomas
--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)
|
|
|
|
|