3v4l.org

run code in 500+ PHP versions simultaneously
<?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);
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => array ( 'id' => 1, 'data' => 'data 1', ), 1 => array ( 'id' => 2, 'data' => 'data data 3', ), 2 => array ( 'id' => 3, 'data' => 'data 3', ), 3 => array ( 'id' => 4, 'data' => 'data 3', ), 4 => array ( 'id' => 5, 'data' => 'data data 3', ), )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
47.94 ms | 1149 KiB | 4 Q