Как вы проверяете переменную для циклических ссылок?
Я использую функцию PHP var_export()
с аргументом возвращаемой строки, установленным в true
.
Я обнаружил, что Warning: var_export does not handle circular references
и задавался вопросом, знает ли кто-нибудь, как проверить, содержит ли переменная круглую ссылку, чтобы я мог использовать ее, прежде чем пытаться использовать var_export
на ней.
Я знаю, что var_export
выводит PHP-полезный текст, который можно использовать для воссоздания массива, и хотя я не использую его для этого, я все еще хочу использовать эту функцию, когда она доступна, потому что выходной формат соответствует моим необходимо. var_dump
не является опцией, потому что он не принимает аргумент для возврата строки. Я знаю, что я мог бы буферизовать вывод var_dump
, который грамотно обрабатывает циклические ссылки и сохраняет содержимое буфера в переменной, но я просто хочу знать, знает ли кто-нибудь о способе тестирования таких ссылок в переменной.
Если вы хотите создать быструю циркулярную ссылку, сделайте следующее:
$r = array();
$r[] = &$r;
var_export($r, true);