PHP-da ichki funksiyalar orqali optimallashtirish

Bir dasturchi massivda 5 soni bormi yoki yo‘qmi tekshirmoqda:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // tsikl ortiqcha aylanishidan chiqib ketamiz
    }
  }
  
  var_dump($exists);
?>

Men bu kod bilan biror narsa noto‘g‘ri degan fikrdaman. Nima noto‘g‘ri, biz 3 sonini topganimizdan keyin tsikldan chiqib ketayapmizmi? Masala shundaki, PHP-ning ichki funksiyalari har doim o‘xshash o‘zimiz yozgan koddan tezroq ishlaydi.

Bizning holatda in_array funksiyasi mavjud bo‘lib, u berilgan vazifani hal qiladi - va aynan shu funksiyadan foydalanish kerak:

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

Xulosa: vazifani hal qilishdan oldin, albatta PHP-ning ichki funksiyasi bormi yoki yo‘qmi tekshiring.

Задание 1

Quyidagi kodda bir dasturchi massiv elementlari yig‘indisini topmoqda. Ushbu dasturchining yechimini optimallashtiring.

Kod quyidagicha:

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

Quyidagi kodda bir dasturchi massiv elementlari ko‘paytmasini topmoqda. Ushbu dasturchining yechimini optimallashtiring:

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