break հրահանգը PHP-ում

Ենթադրենք՝ ունենք հետևյալ ցիկլը, որն արտածում է զանգվածի տարրերը էկրանին.

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

Ենթադրենք՝ առաջադրանքն է որոշել, արդյոք 3 թիվը կա զանգվածում: Եթե կա, արտածենք '+++' էկրանին (իսկ եթե չկա՝ ոչինչ չանենք):

Եկեք լուծենք մեր առաջադրանքը.

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem == 3) {
      echo '+++';
    }
  }
?>

Առաջադրանքը լուծված է, սակայն կա խնդիր. 3 թիվը գտնելուց հետո, զանգվածը անիմաստ շարունակում է կրկնվել հետագայում, ծախսելով պրոցեսորի թանկարժեք ռեսուրսները և դանդաղեցնելով մեր սկրիպտի աշխատանքը:

Ավելի օպտիմալ կլիներ անմիջապես թվի գտնելուց հետո դադարեցնել մեր ցիկլի աշխատանքը: Դա կարելի է անել հատուկ break հրահանգի միջոցով, որն թույլ է տալիս վաղաժամկետ դադարեցնել ցիկլի աշխատանքը:

Այսպիսով, եկեք դադարեցնենք ցիկլը, հենց հանդիպենք 3 թվին.

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem == 3) {
      echo '+++';
      break; // դուրս կգանք ցիկլից
    }
  }
?>

break հրահանգը կարող է դադարեցնել ցանկացած ցիկլ. foreach, for, while:

Задание 1

Տրված է թվային զանգված: Գործարկեք ցիկլ, որն հերթականությամբ կարտածի այս զանգվածի տարրերը կոնսոլում այնքան ժամանակ, մինչև չհանդիպի 0 արժեքով տարրին: Դրանից հետո ցիկլը պետք է դադարեցնի իր աշխատանքը:

Задание 2

Տրված է թվային զանգված: Գտեք զանգվածի սկզբից մինչև առաջին բացասական թիվն ընկած տարրերի գումարը:

Задание 3

Տրված է թվային զանգված: Գտեք առաջին 3 թվի դիրքը այս զանգվածում (ենթադրում ենք, որ այդ թիվն անպայման կա զանգվածում):

Задание 4

Որոշեք, թե սկսած 1 թվից, քանի ամբողջ թիվ պետք է գումարել, որ գումարը գերազանցի 100-ը: