3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = ["arr"=>["0", "1", "2"], "integer_value"=>"3", "float_value"=>"-0.5"]; array_walk_recursive($array, function(&$value, $key) { if(is_numeric($value)) { $value = (string)((int)$value)==$value ?(int)$value :(double)$value; } }); var_dump($array);

preferences:
35.38 ms | 402 KiB | 5 Q