<?php
$a=memory_get_usage();
$bar = &$foo;
$b=memory_get_usage() . "\n";
$c=$b-$a;
echo "ссылка весит ". "$c"."<br>";
$a1=memory_get_usage();
$foo = 5;
$b1=memory_get_usage();
$c1=$b1-$a1;
echo "переменная весит "."$c1"."<br>";
?>
Отв:
переменная весит 96
ссылка весит 120
Спустя 1 час, 1 минута, 13 секунд (20.05.2011 - 19:50) quickxyan написал(а):
я стесняюсь спросить, а зачем это знать и какая разница?!
Спустя 12 минут, 54 секунды (20.05.2011 - 20:03) GQU написал(а):
Цитата |
я стесняюсь спросить, а зачем это знать и какая разница?! |
Для эксперимента
<?php
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>
Почему не удаляется $foo
Я уже создавал эту тему, но чего не понял
Где то мне говорили, что
global $foo;создаеся ссылка вот и решил проверить с помощью памяти, выделяемой под ссылку и переменную
Спустя 33 минуты, 28 секунд (20.05.2011 - 20:36) Gradus написал(а):
не правильно тестите
ссылка весит 120
переменная весит 144
а если местами поменять, то вообще
переменная весит 120
ссылка весит 48
зачем вам вообще нужно к этому придераться ? unset в тех примерах удаляет переменную которая является локальной ссылкой.Вы с таким подходом пол года будете 3 строчки писать :)
$gop=5;
$a=memory_get_usage();
$bar = &$gop;
$b=memory_get_usage();
$c=$b-$a;
echo "ссылка весит ". $c."<br>";
$a1=memory_get_usage();
$foo = $gop;
$b1=memory_get_usage();
$c1=$b1-$a1;
echo "переменная весит ".$c1."<br>";
ссылка весит 120
переменная весит 144
а если местами поменять, то вообще
переменная весит 120
ссылка весит 48
зачем вам вообще нужно к этому придераться ? unset в тех примерах удаляет переменную которая является локальной ссылкой.Вы с таким подходом пол года будете 3 строчки писать :)