3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ 'website' => [ 'id' => 'one' ], 'children' => [ [ 'website' => [ 'id' => 'one.one' ], 'children' => [ [ 'website' => [ 'id' => 'one.one.one' ], 'children' => [ [ 'website' => [ 'id' => 'one.one.one.one' ], 'children' => [] ], [ 'website' => [ 'id' => 'one.one.one.two' ], 'children' => [] ] ] ], [ 'website' => [ 'id' => 'one.one.two' ], 'children' => [ [ 'website' => [ 'id' => 'one.one.two.one' ], 'children' => [] ], [ 'website' => [ 'id' => 'one.one.two.two' ], 'children' => [] ] ] ] ] ], [ 'website' => [ 'id' => 'one.two' ], 'children' => [ [ 'website' => [ 'id' => 'one.two.one' ], 'children' => [ [ 'website' => [ 'id' => 'one.two.one.one' ], 'children' => [] ], [ 'website' => [ 'id' => 'one.two.one.two' ], 'children' => [] ] ] ], [ 'website' => [ 'id' => 'one.two.two' ], 'children' => [ [ 'website' => [ 'id' => 'one.two.two.one' ], 'children' => [] ], [ 'website' => [ 'id' => 'one.two.two.two' ], 'children' => [] ] ] ] ] ] ] ], [ 'website' => [ 'id' => 'two' ], 'children' => [] ] ]; function delete_entries(&$array, $ids_to_delete) { foreach ($array['children'] as $index => &$child) { if (in_array($child['website']['id'], $ids_to_delete)) { unset($array['children'][$index]); } delete_entries($child, $ids_to_delete); } } $excluded = array('two', 'one.one.two', 'one.two.one'); foreach ($array as $key => &$arr) { if (in_array($arr['website']['id'], $excluded)) { unset($array[$key]); } else { delete_entries($arr, $excluded); } } var_export($array);
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
array ( 0 => array ( 'website' => array ( 'id' => 'one', ), 'children' => array ( 0 => array ( 'website' => array ( 'id' => 'one.one', ), 'children' => array ( 0 => array ( 'website' => array ( 'id' => 'one.one.one', ), 'children' => array ( 0 => array ( 'website' => array ( 'id' => 'one.one.one.one', ), 'children' => array ( ), ), 1 => array ( 'website' => array ( 'id' => 'one.one.one.two', ), 'children' => array ( ), ), ), ), ), ), 1 => array ( 'website' => array ( 'id' => 'one.two', ), 'children' => array ( 1 => array ( 'website' => array ( 'id' => 'one.two.two', ), 'children' => array ( 0 => array ( 'website' => array ( 'id' => 'one.two.two.one', ), 'children' => array ( ), ), 1 => array ( 'website' => array ( 'id' => 'one.two.two.two', ), 'children' => array ( ), ), ), ), ), ), ), ), )
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.

preferences:
75.48 ms | 409 KiB | 5 Q