Задачка на сообразительность. :) Указывают ли две переменные на один и тот же массив

fixxxer

К.О.
Партнер клуба
Ну, раз есть отложенное копирование, значит есть флаг, что мы указываем на то, что надо при модификации скопировать ) Zend engine скрывает такие штуки внутри.
 

Krishna

Продался Java
Я к тому, что same_zval на самом деле true

-~{}~ 26.02.09 00:31:

То есть, получается, что данный вопрос это что-то вроде кота, который не жив, не мёртв, а станет мертвым только когда, когда мы измерим его состояние данной функцией ;)
 

fixxxer

К.О.
Партнер клуба
a :) ну название не шибко удачное, в этом смысле, прав )
 

Krishna

Продался Java
Да, я про название. Хотя, в практическом смысле ещё наверное и на выделенную память такое "измерение" окажет влияние :)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Автор оригинала: fixxxer
внимание контрольный ответ :)

PHP:
settype($a, 'object');
$result = $a === $b;
settype($a, 'array');
return $result;
settype($b, 'object'); и settype($b, 'array'); тут не нужны :) 4 строчки :D
 

berkut

Новичок
по моему, самый рульный вариант у tashkentchi.
а с settype() оно как-то не однозначно.. это-ж от кишков zend зависит, и в мане ниче по этому поводу нет. по идее, при settype() не факт, что он не создаст 2 объехта. типо undefined behavior
 

fixxxer

К.О.
Партнер клуба
Да не, settype в данном случае просто меняет одну циферку во внутренних структурах :) просто чтобы добиться требуемого поведения оператора ===
 
Сверху