PHP හි සවික්‍රිය කාර්යයන් හරහා ප්‍රශස්තිකරණය

තම්බා ගන්න, නිශ්චිත ප්‍රොග්‍රෑමරයෙක් පරීක්ෂා කරන්නේ අරාව තුළ 5 අංකය පවතීද යන්න:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // අමතර චක්‍ර නොකැරකීම සඳහා අපි චක්‍රයෙන් පිටවෙමු
    }
  }
  
  var_dump($exists);
?>

මම තර්ක කරමි, මෙම කේතය සමඟ යමක් වැරදියි. කුමක් නිවැරදි නැත, අපි අංක 3 සොයාගත් පසු චක්‍රයෙන් පිටවෙන්නේ නැද්ද? කාරණය නම්, PHP හි සවික්‍රිය කාර්යයන් සැමවිටම වැඩ කරයි ස්වයං-ලියන ලද සමාන කේතයට වඩා ඉහළ වේගයෙන්.

අපගේ අවස්ථාවේ, in_array කාර්යය පවතී, එය ඉදිරිපත් කළ කාර්යය විසඳයි - සහ භාවිතා කළ යුත්තේ හරියටම මෙම කාර්යය වේ:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  var_dump(in_array(3, $arr));
?>

අදහස: කාර්යයක් විසඳීමට පෙර අනිවාර්යයෙන්ම පරීක්ෂා කරන්න, එය විසඳීම සඳහා සවික්‍රිය PHP කාර්යයක් නොමැතිද යන්න.

Задание 1

පහත කේතයේ, නිශ්චිත ප්‍රොග්‍රෑමරයෙක් සොයා ගනී අරාවේ අංග එකතුව. මෙම ප්‍රොග්‍රෑමරයගේ විසඳුම ප්‍රශස්ත කරන්න.

කේතය මෙන්න:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $sum = 0;
  foreach ($arr as $elem) {
    $sum += $elem;
  }
  echo $sum;
?>
Задание 2

පහත කේතයේ, නිශ්චිත ප්‍රොග්‍රෑමරයෙක් සොයා ගනී අරාවේ අංග ගුණිතය. මෙම ප්‍රොග්‍රෑමරයගේ විසඳුම ප්‍රශස්ත කරන්න:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $res = 1;
  foreach ($arr as $elem) {
    $res *= $elem;
  }
  echo $res;
?>