php kod analizi

2 Cevap
$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;

Zaten tanımsız olan, 'aaaaaa' çıktılar, bunu açıklayabilir misiniz?

2 Cevap

Hayır, $test tanımsız yapar, ama bunu başka bir referans, yani $abc olduğundan değeri silinmez.

Aradığınızda:

$abc =& $test;

Bu $ test işaret bellekte aynı nesneye $ abc işaret. Bu $ testte $ abc işaret etmiyor - ince bir fark var.

Bu $ testi yok anlamına gelir, ama $ abc hala hafızasında nesneye işaret olacak, bu yüzden değeri yok edilmez.