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' => [] ] ] ] ] ] ] ] ]; 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); } } foreach ($array as &$arr) { delete_entries($arr, array('one.one.two', 'one.two.one')); } var_export($array);
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 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.27, 8.4.1 - 8.4.14
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 ( ), ), ), ), ), ), ), ), )

preferences:
228.28 ms | 413 KiB | 5 Q