Загадка про PHP. Номер 9.

Загадка на ссылки и unset. Дано:

function a()
{
global $a;
unset($a);
$a = 2;
}

function b(&$a)
{
unset ($a);
$a = 2;
}

$a = 1;
a();
var_dump($a);

b($a);
var_dump($a);

Традиционно — что будет на экране?

17 августа 2003 10:04

Улитка (инкогнито)
17 августа 2003, 13:20

На экране будет браузер. Или окно консоли, если вызов был через php.exe :-)
А функции выведут 2 и null.

bolk (bolknote.ru)
17 августа 2003, 13:20, ответ предназначен Улитка

<span style="background-color: black; color: black">

Функции выведут 1 и 1. unset уничтожает ссылку, а «global $a» эквивалентно «$a = &$GLOBALS['a']»

Кстати, на экране может быть и MySQL, например. :) Есть модуль, позволяющий вызывать PHP из MySQL.

</span>

Улитка (инкогнито)
17 августа 2003, 16:55

Вот где собака порылась! Теперь запомню.

И еще: ты mysql не из консоли запустил? :-)

bolk (bolknote.ru)
17 августа 2003, 16:55, ответ предназначен Улитка

Могу запустить из MySQL Control Center, как я обычно и делаю.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)