旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[PHP] 循環参照をvar_dump

2008年4月14日

クラスインスタンスをvar_dumpする際に
インスタンスが循環参照になってたらどうなるのかをチェックしてみた。

(Ethna on) PHP-4.3.11の時にはフリーズした記憶がある!
いや、記憶じゃなくて、確実にしてた・・・。

<?php
class ClassA {
public $b;
}
class ClassB {
public $a;
}
$a = new ClassA;
$b = new ClassB;
$a->b = $b;
$b->a = $a;
var_dump($a);

さー、どうなるかな

object(ClassA)#1 (1) {
["b"]=>
object(ClassB)#2 (1) {
["a"]=>
object(ClassA)#1 (1) {
["b"]=>
object(ClassB)#2 (1) {
["a"]=>
*RECURSION*
}
}
}
}

おー、落ちない、OK