$data = new \WeakMap();
$a = new A();
$b = new B();
$data[$a] = 1;
$data[$b] = 2;
$data->count();//2
$data = new \WeakMap();
$a = new A();
$b = $a;
$data[$a] = 1;
$data[$b] = 2;
$data->count();//1
$data = new \WeakMap();
$a = new A();
$b = new B();
$data[$a] = 1;
$data[$b] = 2;
$data->count();//2
$data = new \WeakMap();
$a = new A();
$b = $a;
$data[$a] = 1;
$data[$b] = 2;
$data->count();//1