Apelul secvențial al funcțiilor în PHP

Rezultatul unei funcții poate fi transmis ca parametru alteia. În următorul exemplu, vom găsi mai întâi pătratul numărului 2, apoi pătratul rezultatului:

php<?php
  function func($num) {
    return $num * $num;
  }
  
  $res = func(func(2));
  echo $res; // va afișa 16
?>

Funcțiile, desigur, nu trebuie să fie neapărat identice.

Să presupunem, de exemplu, că avem o funcție care returnează pătratul unui număr și o funcție care returnează cubul unui număr:

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

Să folosim aceste funcții pentru a ridica numărul 2 la pătrat, apoi să ridicăm rezultatul acestei operații la cub:

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

Să presupunem acum că avem o funcție care returnează pătratul unui număr și o funcție care găsește suma a două numere:

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

Să găsim cu ajutorul acestor funcții suma pătratului numărului 2 și suma pătratului numărului 3:

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

Să presupunem că aveți o funcție care returnează radicalul de ordinul 3 (rădăcina cubică) a unui număr și o funcție care rotunjește un număr fracționar la trei zecimale:

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

Cu ajutorul acestor funcții, găsiți radicalul de ordinul 3 al numărului 2 și rotunjiți-l la trei zecimale.