Chamada sequencial de funções em PHP

É possível passar o resultado de uma função como parâmetro para outra. No exemplo a seguir, primeiro encontraremos o quadrado do número 2, e depois o quadrado do resultado:

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

É claro que as funções não precisam ser necessariamente iguais.

Suponha, por exemplo, que temos uma função que retorna o quadrado de um número, e uma função que retorna o cubo de um número:

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

Vamos usar essas funções para elevar o número 2 ao quadrado e, em seguida, elevar o resultado dessa operação ao cubo:

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

Suponha agora que temos uma função que retorna o quadrado de um número, e uma função que encontra a soma de dois números:

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

Vamos encontrar usando essas funções a soma do quadrado do número 2 e a soma do quadrado do número 3:

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

Suponha que você tenha uma função que retorna a raiz cúbica de um número, e uma função que arredonda um número decimal para três dígitos na parte fracionária:

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

Usando essas funções, encontre a raiz cúbica do número 2 e arredonde-a para três dígitos na parte fracionária.