3v4l.org

run code in 500+ PHP versions simultaneously
<?php $array = array ( 60 => array ( 'term_id' => 60, 'name' => 'Vinylbiler', 'slug' => 'vinylbiler', 'term_group' => 0, 'term_taxonomy_id' => 60, 'taxonomy' => 'toys', 'parent' => 0, 'count' => 2, 'filter' => 'raw', 'children' => array ( 63 => array ( 'term_id' => 63, 'name' => '1:43 serien', 'slug' => '143-serien', 'term_group' => 0, 'term_taxonomy_id' => 63, 'taxonomy' => 'toys', 'parent' => 60, 'count' => 2, 'filter' => 'raw', 'children' => array ( 64 => array ( 'term_id' => 64, 'name' => 'Gul', 'slug' => 'gul', 'term_group' => 0, 'term_taxonomy_id' => 64, 'taxonomy' => 'toys', 'parent' => 63, 'count' => 1, 'filter' => 'raw', 'children' => array ( ), ), 65 => array ( 'term_id' => 65, 'name' => 'Rød', 'slug' => 'rod', 'term_group' => 0, 'term_taxonomy_id' => 65, 'taxonomy' => 'toys', 'parent' => 63, 'count' => 1, 'filter' => 'raw', 'children' => array ( ), ), ), ), ), ) ); function search_array($array, $name) { foreach ($array as $key => $value) { if ($value['name'] == $name) { // found the term. remove any children of this value $value['children'] = array(); return $value; } elseif (is_array($value['children'])) { if (($child = search_array($value['children'], $name)) !== false) { $value['children'] = $child; return $value; } } } return false; } print_r(search_array($array, 'Vinylbiler')); print_r(search_array($array, '1:43 serien')); print_r(search_array($array, 'Rød')); print_r(search_array($array, 'Nick'));
Output for 5.6.38, 7.0.33, 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.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.7
Array ( [term_id] => 60 [name] => Vinylbiler [slug] => vinylbiler [term_group] => 0 [term_taxonomy_id] => 60 [taxonomy] => toys [parent] => 0 [count] => 2 [filter] => raw [children] => Array ( ) ) Array ( [term_id] => 60 [name] => Vinylbiler [slug] => vinylbiler [term_group] => 0 [term_taxonomy_id] => 60 [taxonomy] => toys [parent] => 0 [count] => 2 [filter] => raw [children] => Array ( [term_id] => 63 [name] => 1:43 serien [slug] => 143-serien [term_group] => 0 [term_taxonomy_id] => 63 [taxonomy] => toys [parent] => 60 [count] => 2 [filter] => raw [children] => Array ( ) ) ) Array ( [term_id] => 60 [name] => Vinylbiler [slug] => vinylbiler [term_group] => 0 [term_taxonomy_id] => 60 [taxonomy] => toys [parent] => 0 [count] => 2 [filter] => raw [children] => Array ( [term_id] => 63 [name] => 1:43 serien [slug] => 143-serien [term_group] => 0 [term_taxonomy_id] => 63 [taxonomy] => toys [parent] => 60 [count] => 2 [filter] => raw [children] => Array ( [term_id] => 65 [name] => Rød [slug] => rod [term_group] => 0 [term_taxonomy_id] => 65 [taxonomy] => toys [parent] => 63 [count] => 1 [filter] => raw [children] => Array ( ) ) ) )

preferences:
113.95 ms | 2006 KiB | 5 Q