Deprecated: Return type of NodeIterator::hasChildren() should either be compatible with RecursiveArrayIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 11
Deprecated: Return type of NodeIterator::getChildren() should either be compatible with RecursiveArrayIterator::getChildren(): ?RecursiveArrayIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 19
Warning: Cannot modify header information - headers already sent in /in/D0GfX on line 3
Deprecated: Return type of Node::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 91
Deprecated: Return type of Node::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 102
{
"data": "root",
"children": [
{
"data": "sub1",
"children": [
{
"data": "sub1.1",
"children": []
}
]
},
{
"data": "sub2",
"children": [
{
"data": "sub2.1",
"children": [
{
"data": "sub.2.1.1",
"children": []
}
]
}
]
},
{
"data": "sub3",
"children": []
}
]
}
root
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
.sub1
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
..sub1.1
.sub2
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
..sub2.1
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
...sub.2.1.1
.sub3
root
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
.sub1
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
..sub1.1
.sub2
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
..sub2.1
Deprecated: ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated, as it allows violating class constraints and invariants in /in/D0GfX on line 21
...sub.2.1.1
.sub3
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15)
/bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15)
/bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Deprecated: Return type of NodeIterator::hasChildren() should either be compatible with RecursiveArrayIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 11
Deprecated: Return type of NodeIterator::getChildren() should either be compatible with RecursiveArrayIterator::getChildren(): ?RecursiveArrayIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 19
Warning: Cannot modify header information - headers already sent by (output started at /in/D0GfX:6) in /in/D0GfX on line 3
Deprecated: Return type of Node::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 91
Deprecated: Return type of Node::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/D0GfX on line 102
{
"data": "root",
"children": [
{
"data": "sub1",
"children": [
{
"data": "sub1.1",
"children": []
}
]
},
{
"data": "sub2",
"children": [
{
"data": "sub2.1",
"children": [
{
"data": "sub.2.1.1",
"children": []
}
]
}
]
},
{
"data": "sub3",
"children": []
}
]
}
root
.sub1
..sub1.1
.sub2
..sub2.1
...sub.2.1.1
.sub3
root
.sub1
..sub1.1
.sub2
..sub2.1
...sub.2.1.1
.sub3