<?php $array = [ ["id" => 1, "data" => "data 1"], ["id" => 2, "data" => "data <4>"], ["id" => 3, "data" => "data 3"], ["id" => 4, "data" => "<3>"], ["id" => 5, "data" => "<2>"] ]; function recurse(&$array, $needle = null) { foreach ($array as ['id' => $id, 'data' => &$data]) { if (($needle ?? $id) === $id) { $data = preg_replace_callback( '/<(\d+)>/', fn($m) => recurse($array, (int) $m[1]), $data ); } if ($needle === $id) { return $data; } } } recurse($array); var_export($array);
You have javascript disabled. You will not be able to edit any code.