Вот эти функции должны возвращать одно и то же?:
function one($arr)
{
$output = [];
foreach ($arr as $item) {
$output[] = json_decode($item);
}
$arr = $output;
return $arr;
}
function two($arr)
{
array_walk($arr, function ($value) {
return json_decode($value);
});
return $arr;
}