Silmukka ja return PHP:ssä

Oletetaan, että meillä on funktio, joka palauttaa lukujen summan 1:stä 5:een:

php<?php
  function func() {
    $sum = 0;
    
    for ($i = 1; $i <= 5; $i++) {
      $sum += $i;
    }
    
    return $sum;
  }
  
  $res = func();
  echo $res; // tulostaa 15
?>

Oletetaan nyt, että sijoitamme return:n silmukan sisään, näin:

php<?php
  function func() {
    $sum = 0;
    
    for ($i = 1; $i <= 5; $i++) {
      $sum += $i;
      return $sum;
    }
  }
  
  $res = func();
  echo $res;
?>

Tässä tapauksessa silmukka pyörähtää vain yhden iteraation verran ja funktiosta (ja samalla silmukasta) poistutaan automaattisesti. Yhden silmukan iteraation aikana muuttujaan $sum ehtii tulla vain luku 1, eikä koko tarvittava summa.

Задание 1

Mitä seuraava koodi tulostaa näytölle suorituksen jälkeen:

php<?php
  function func($num) {
    $sum = 0;
    
    for ($i = 1; $i <= $num; $i++) {
      $sum += $i;
      return $sum;
    }
  }
  
  echo func(5);
?>

Selitä miksi.

Mitä kirjoittaja yritti tehdä tällä koodilla? Korjaa kirjoittajan virhe.