PHP.Цикл операторлары.

5 Қыркүйек 2014

Цикл дегеніміз бір немесе бірнеше нұсқаулардың бірнеше рет қайталанып келуіне мүмкіндік беретін программа кодының бөлігі.Осындай әр қайталану итерация деп аталады.

Әр цикл екі бөліктен тұрады.Бірінші бөлік циклдың қай кезде тоқталатынын көрсетеді, ал екінші бөлік пішінді жақшаларда орналасқан бір немесе бірнеше нұсқаулардан құралған программа кодынан тұрады.

Циклдың кодтан тұратын бөлігі оның шартты өрнегінің мәні  true болса шексіз орындала береді.Сондықтан циклдың коды шартты өрнек мәні false болатындай жағдай тудырып, қайталануды тоқтатады да, программаның  орындалу барысы циклдан кейінгі басқа бөліктерге ауысады.|

while циклы операторы.

Бұл цикл ең қарапайым болып саналады.Оның синтасисі:


Төменде көрсетілген мысалда while циклының денесі он рет қайталанады:

<?php 
  $i = 1;   
  while ($i <= 10) {
    echo "Итерация нөмірі: $i<br>\n";     
    $i++;
  } 
?>

Бұл мысалда алдымен цикл басталарда $i айнымалысына қандайда бір мән береміз,мысалы 1 берейік.Бұлай алдымен айнымалы - есептеуішке мән беруді инициализация деп атайды.

Цикл денесі әр орындалған сайын $i++ инкрементінің арқасында $i айнымалысының мәні бірге өсіп отырады.Ал $i<=10 шартты өрнек әр цикл басталарда тексеріліп тұрады.

Цикл 10 рет орындалған соң $i<=10 шартты өрнек мәні false мәніне ие болады, себебі 10 саны 10 нан үлкен бола алмайды.Осы себепті цикл орындалуы тоқтайды.

do while цикл операторы.

Бұл оператордың алдыңғы while операторынан ең басты өзгешелігі - шартты өрнек циклдың басында емес соңында тексеріледі.Оның жазылу синтаксисі төмендегідей:


Бұл циклдың while циклынан тағы жоғарыда айтылғаннан басқа екі өзгешелігі бар:

Біріншіден, ол циклдің басы do мен басталып, соңы  while мен бітеді.Демек, цикл кем дегенде бір рет орындалады.

Екіншіден, do циклы нүктелі үтірмен аяқталады.

Енді жоғарыдағы мысалды do циклында жазып көрейік:

<?php
  $i = 1; 
  do {
    echo "Итерация нөмірі: $i<br>\n";    
    $i++;
  } while ($i <= 10);  
?>

for цикл операторы.

Бұл цикл синтаксисі төмендегі суретте көрсетілгендей:


Бұл цикл for деген арнайы сөзден басталады, одан кейін ішіне нүктелі үтірмен ажыратылған 3 өрнек салынған дөңгелек жақша келеді соңында нұсқаумен аяқталады.Ол 3 өрнектің орындалу тәртібі мынадай:

1. Алдымен орындалатын бірінші инициализациялайтын өрнек циклдың басында тек бір-ақ рет орындалады.

2. Екінші өрнек бұл шартты өрнек, бұл өрнек циклдың әр жүрісі-итерация басталған сайын мәні есептеледі.

Егер бірінші есептелгенде мәні false болса, цикл сол сәтте тоқтап орындалмай бітеді.

Ал егер өрнек мәні true  болса, онда цикл денесіндегі нұсқау орындалады,ал false болса цикл тоқтайды.

3. Үшінші өрнек инкремент арқылы әр итерация сайын есептеуіш бірге артып отырады.

Мысал:

<?php 
  for ($j = 1; $j <= 10; $j++) {
    echo "Бұл есептеуіш мәні: $j ";
  }   
?>

for циклының басын кейбір өрнектерінсіз анықтау.

for циклындағы бастапқы үш өрнектің біреуі жарияланбауы мүмкін.

Мысалы, бірінші инициализация өрнегі бұл орында емес циклдың басқа жерінде тұруы мүмкін.

Жоғарыдағы мысалды енді басқаша жазайық: бірінші өрнекті циклдың алдына шығарайық, бірақ оның орнында (;) нүктелі үтір қалады.

<?php  
  $j = 1;
  for (; $j <= 10; $j++) {
    echo "Бұл есептеуіш мәні: $j ";
  }   
?>

Ия болмаса үшінші өрнек инкрементті алып тастауға болады.Бірақ оны циклдың денесінің ішіне жазу керек, әйтпесе цикл шексіз орындала береді:

<?php  
  for ($j = 1; $j <= 10; ) {
    echo "Бұл есептеуіш мәні: $j ";
   $j++; 
 }   
?>

for циклының басында бірнеше өрнектер жазу.

for циклының басында нүктелі үтірмен бөлінген кез келген өрнектің орнына тек үтірмен бөлінген бірнеше өрнектер жазуға болады, бірақ ол мәндердің тек ең соңғысы есепке алынады.Мысалы:

<?php  
  for ($j = 1; $j <= 10,false; $j++) {
    echo "Бұл есептеуіш мәні: $j ";
  }   
?>
Бұл цикл орындалмайды, себебі екінші шартты өрнек жалған (false) болып тұр.

Бірінің ішіне бірі салынған циклдар.

Шартты операторлар сияқты циклдар да бірінің ішіне бірі салынған болып келуі мүмкін.Мысалы:

<?php 
  for ($i = 0; $i < 5; $i++) {
    echo "Сыртқы цикл.<br>";
    for ($j = 0; $j < 10; $j++) {
      echo "Ішкі цикл.<br>";
    }
  }   
?>

Цикл операторы foreach.

Бұл оператор тек массивтер және обьектілермен ғана жұмыс жасайды.Синтаксисі екі түрлі болып келеді.

Оның бірінші түрі:

<?php 
 foreach ($array as $value) {
  нұсқаулар
}
?>

Бұл цикл әрбір жүрісінде $array (массивтің аты) массивінің әр элементін оқып,  массивтің барлық элементтері біткенше , сол әр элементтің мәнін  $value айнымалысына теңестіріліп отырады.Мысал:

<?php   
  $my_array = array(1, 2, 3, 4, 5);   
  foreach ($my_array as $value) {
    echo $value, " ";
} 
?>

foreach синтаксисінің екінші түрі:

<?php   
 foreach ($array as $key => $value) {
  нұсқаулар
}
?>

Бұл кезде циклдің әр жүрісінде массивтің әр элементінің мәні $value айнымалысына теңестірілуімен қатар ол элементтің кілтінің мәні $key айнымалысына қоса теңестіріледі.Mысал:

<?php   
  $my_array= array(1, 2, 3, 4, 5);   
  foreach ($my_array as $key => $value) {
    echo "[$key] => ", $value, "<br>";
}
?>


Егер мақала көңіліңізден шықса, онда онымен төмендегі түйме арқылы достарыңызбен бөлісіңіз

Пікірлер