PHPдеги return булагынын ийкемдүү жери

return бул акты аткарылгандан кийин - функция өз ишин бүтөт. Бул мындай дегенди билдирет: return аткарылгандан кийин дагы эч кандай код аткарылбайт.

Мисалды караңыз:

php<?php
  function func($num) {
    return $num * $num;
    
    echo '!'; // бул код эч качан аткарылбайт
  }
  
  $res = func(3);
?>

Бул функцияда бир гана return болушу керек дегенди билдирбейт. Бирок алардын бири гана аткарылат.

Төмөнкү мисалда параметрдин маанисине жараша биринчи же экинчи return аткарылат:

php<?php
  function func($num) {
    if ($num >= 0) {
      return '+';
    } else {
      return '-';
    }
  }
  
  echo func( 3); // '+' чыгарат
  echo func(-3); // '-' чыгарат
?>
Задание 1

Төмөнкү кодду аткаруунун натыйжасында экранга эмне чыгат:

php<?php
  function func($num) {
    return $num;
    
    $res = $num * $num;
    return $res;
  }
  
  echo func(3);
?>

Эмне үчүн экенин түшүндүрүңүз.

Задание 2

Төмөнкү кодду аткаруунун натыйжасында ар бир echo эмне чыгарат:

php<?php
  function func($num) {
    if ($num <= 0) {
      return abs($num);
    } else {
      return $num * $num;
    }
  }
  
  echo func(10);
  echo func(-5);
?>

Эмне үчүн экенин түшүндүрүңүз.

Задание 3

Төмөнкү кодду аткаруунун натыйжасында ар бир echo эмне чыгарат:

php<?php
  function func($num) {
    if ($num <= 0) {
      return abs($num);
    }
    
    return $num * $num;
  }
  
  echo func(10);
  echo func(-5);
?>

Эмне үчүн экенин түшүндүрүңүз.