Chiamata sequenziale di funzioni in PHP

È possibile passare il risultato di una funzione come parametro a un'altra. Nell'esempio seguente, prima calcoleremo il quadrato del numero 2, e poi il quadrato del risultato:

php<?php
  function func($num) {
    return $num * $num;
  }
  
  $res = func(func(2));
  echo $res; // visualizzerà 16
?>

Le funzioni, naturalmente, non devono necessariamente essere uguali.

Supponiamo, ad esempio, di avere una funzione che restituisce il quadrato di un numero e una funzione che restituisce il cubo di un numero:

php<?php
  function square($num) {
    return $num * $num;
  }
  
  function cube($num) {
    return $num * $num * $num;
  }
?>

Utilizziamo queste funzioni per elevare il numero 2 al quadrato, e poi eleviamo il risultato di questa operazione al cubo:

php<?php
  $res = cube(square(2));
  echo $res;
?>

Supponiamo ora di avere una funzione che restituisce il quadrato di un numero e una funzione che calcola la somma di due numeri:

php<?php
  function square($num) {
    return $num * $num;
  }
  
  function sum($num1, $num2) {
    return $num1 + $num2;
  }
?>

Calcoliamo utilizzando queste funzioni la somma del quadrato del numero 2 e del quadrato del numero 3:

php<?php
  $res = sum(square(2), square(3));
  echo $res;
?>
Задание 1

Supponiamo di avere una funzione che restituisce la radice cubica di un numero e una funzione che arrotonda un numero decimale a tre cifre decimali:

php<?php
  function root($num) {
    return pow($num, 1/3);
  }
  
  function norm($num) {
    return round($num, 3);
  }
?>

Utilizzando queste funzioni, calcola la radice cubica del numero 2 e arrotondala a tre cifre decimali.