我有这个示例数组。
$data = new stdClass();
$data->foo = [
'foo1' => &$data,
'foo2' => 23,
];
$data->bar = new stdClass();
$data->nar->object = [
'bar1' => &$data->bar,
'bar2' => 43,
];
Run Code Online (Sandbox Code Playgroud)
我想将其解析为:
$data = new stdClass();
$data->foo = [
'foo1' => "RECURSION DETECTED",
'foo2' => 23,
];
$data->bar = new stdClass();
$data->nar->object = [
'bar1' => "RECURSION DETECTED",
'bar2' => 43,
];
Run Code Online (Sandbox Code Playgroud)
我需要它,因为json_encode检测到递归时无法对数据进行编码。
我以不同的方式尝试了很多次,做了很多研究,但我没有找到任何真正能帮助我的东西。
我的最后一次尝试是:
function _stack(&$object, &$stack = [], $key = 'original')
{
if (isObjectOrArray($object)) {
if (!in_array($object, $stack, …Run Code Online (Sandbox Code Playgroud)