Манипулации со елементи на мултидимензионална низа во PHP

Ајде да направиме нешто со елементите на низата што ги итерираме, на пример, да додадеме на крајот знак '!':

php<?php
  function func($arr) {
    $length = count($arr);
    
    for ($i = 0; $i < $length; $i++) {
      if (is_array($arr[$i])) {
        $arr[$i] = func($arr[$i]);
      } else {
        $arr[$i] = $arr[$i] . '!';
      }
    }
    
    return $arr;
  }
  
  var_dump(func([1, [2, 7, 8], [3, 4, [5, 6]]]));
?>
Задание 1

Дадена е мултидимензионална низа со произволно ниво на вгнезденост, на пример, вака:

php<?php
  $arr = [1, [2, 7, 8], [3, 4], [5, [6, 7]]];
?>

Подигнете ги на квадрат сите елементи-броеви на оваа низа.