PHP: Başlarken referans numarası

3 Cevap

Nasıl var_dump fonksiyonu ile mümkün olduğu gibi, PHP referans ID alabilirim:

// PHP 5.2.6
class Test {}

$test1 = new Test; var_dump($test1);
$test1b = $test1;  var_dump($test1b);
$test2 = new Test; var_dump($test2);

: Sonuçlanabilecek

object(Test)#1 (0) {}
object(Test)#1 (0) {}
object(Test)#2 (0) {}


See, var_dump can tell which references are equal without a straight-up comparison, and it prints their reference ID #1 and #2. How do I access that reference ID?

3 Cevap

Ben gurur değilim, ama bu işleri:

ob_start();                                                                                                                                   
var_dump($test2);                                                                                                                             
$str = ob_get_contents();                                                                                                                     
ob_end_clean();                                                                                                                               

echo substr($str, strrpos($str, '#')+1, 1);

Neden "referans numarası" istiyorsun? Ben sormak nedeni # 1 bir kimlik atıfta olduğunu düşünüyorum, ancak bunun yerine bu nesne ikinci örneği olduğunu söyleyen kalmamasıdır.

Eğer o kimliği bilmek gerekir yapmak için çalışıyoruz ne genişletebilirsiniz?