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