PHP тілінде шартты операторлар (if, switch), циклдермен жұмыс (while, for, foreach) және include, require функцияларын қолдану


Дәрісте шартты операторлар (if, switch), циклдермен жұмыс (while, for, foreach) және include, require функцияларын қолдану қарастырылады. Мысал ретінде әр түрлі жағдайларға байланысты әмбебап хат дайындау және оны қолданушылардың әрбіреуіне жіберу қарастырылады.

Шартты операторлар

If операторы

Бұл көптеген тілдердің, соның ішінде PHP қоса алғанда ең маңызды операторлардың бірі. Ол шартқа байланысты код үзіндісін орындауға мүмкіндік береді. If операторының құрылымын төмендегідей беруге болады:

if (өрнек) орындалу_блогы

Мұндағы өрнек кез келген дұрыс PHP-өрнек (яғни, барлық мәні бар өрнек) . Скрипті өңдеу кезінде өрнек логикалық типке түрленеді. Егер түрлену кезінде өрнектің мәні ақиқат (True) болса, онда орындалу_блогы жүзеге асады. Кері жағдайда орындалу_блогы еленбейді. Егер орындалу_блогы бірнеше командадан тұрса, онда олар {} жақшаға алынуы тиіс.

Өрнектің логикалық типке түрлену ережесі:

1. FALSE мәніне төмендегі мәндер түрленеді:

  • логикалық False;
  • бүтін нөл (0) ;
  • нақты нөл (0. 0) ;
  • бос жол және «0» жолы;
  • элементтері жоқ массив;
  • айнымалылары жоқ объект;
  • NULL арнайы типі.

2. Қалған барлық мәндер TRUE мәніне түрленеді.

<?

$names = array("Иван", "Петр", "Семен") ;

if ($names[0] =="Иван") {

echo "Ваня, сәлем!";

$num = 1;

$account = 2000;

}

if ($num) echo "Иван тізімде бірінші!";

$bax = 30;

if ($account > 100*$bax+3)

echo "Шарт орындалмағандықтан,

бұл жол экранға шықпайды;

?>

Мысал 3. 1. if шартты операторы (html, txt)

Else операторы

Біз if операторының тек бір, негізгі бөлігін ғана қарастырдық. Бұл оператордың бірнеше кеңейтілген түрі бар. If операторындағы шарт орындалмаған жағдайда else операторын қолданамыз және шартқа байланысты қандай да бір әрекеттерді орындауға мүмкіндік береді.

Else операторының көмегімен кеңейтілген if операторының құрылымын келесі түрде беруге болады:

if (өрнек) орындалу_блогы

else орындалу_блогы1

If . . . else конструкциясын келесідей түсіндіруге болады: егер шарт орындалса (яғни, өрнек=true), онда орындалу_блогындағы әрекеттерді, әйтпесе - орындалу_блогы1 жүзеге асады. Else операторын қолдану міндетті емес.

Алдыңғы мысалды шарт орындалмаған жағдайда орындалуға тиісті әрекеттерді ескере отырып өзгертейік.

<?

$names = array("Иван", "Петр", "Семен") ;

if ($names[0] =="Иван") {

echo "Ваня, салем!";

$num = 1;

$account = 2000;

} else {

echo "Салем, $names[0] .

Ал біз Ваняны күткен едік :(";

}

if ($num) echo "Иван тізімде бірінші!";

else echo "Иван тізімде бірінші ЕМЕС?!";

$bax = 30;

if ($account > 100*$bax+3)

echo "Шарт орындалмағандықтан,

бұл жол экранға шықпайды";

else echo "Бірақ, мына жолды көре аламыз!";

?>

Мысаыл 3. 2. else операторы (html, txt)

Else if операторы

If операторының тағы бір кеңейту әдісі - elseif операторын қолдану. Elseif - бұл else және if операторларының комбинациясы. Ол else операторына ұқсас if операторындағы шарт орындалмаған жағдайда, басқа әрекеттерді жүзеге асыру үшін қолданылады. Бірақ else операторынан айырмашылығы - балама әрекеттер тек elseif-шарты ақиқат болғанда ғана орындалады. Else және elseif операторларының көмегімен кеңейтілген if операторының құрылымын келесідей беруге болады:

if (өрнек) орындалу_блогы

elseif(өрнек1) орындалу_блогы1

. . .

else орындалу_блогыN

Бір if-блокта бірнеше elseif операторлары болуы мүмкін. Elseif-тұжырымы орындалады, тек егер алдыңғы if-шарттар False, барлық алдыңғы elseif-шарттар False, ал соңғы elseif-шарт - True болса.

<?

$names = array("Иван", "Петр", "Семен") ;

if ($names[0] =="Иван") {

// егер массивтегі бірінші есім Иван болса

echo "Салем, Ваня!";

}elseif ($names[0] == "Петр") {

// егер бірінші есім

// Иван емес, Петр болса

echo "Салем, Петя!";

}elseif ($names[0] == "Семен") {

// егер бірінші есім

// Иван да, Петр де емес, Семен болса

echo "Салем, Сеня!";

}else {

// егер бірінші есім Иван да,

// Петр де, Семен де емес болса

echo "Салем, $names[0] . Ал сен кімсің?";

}

?>

Мысал 3. 3. Elseif операторы (html, txt)

Балама синтаксис

РНР өзінің кейбір басқарушы құрылымдары, атап айтқанда if, while, for, foreach және switch үшін балама синтаксисті ұсынады. Әрбір жағдай үшін ашылатын жақшаны қос нүктеге (:), ал жабушы жақшаны - сәйкесінше endif;, endwhile; және т. б. ауыстырамыз.

Мысалы, if операторының синтаксисін келесідегідей жазуға болады:

if(өрнек) : орындалу_блогы endif;

Мағынасы өзгермейді: егер if операторының жақшасына алынып жазылған өрнек ақиқат болса, онда қос нүктеден «:» endif командасына дейінгі бағдарлама коды жүзеге асады. Мұндай синтаксисті қолдану php тілін html-кодына кірістіргенде қолданған ыңғайлы.

<?php

$names = array("Иван", "Петр", "Семен") ;

if ($names[0] =="Иван") :

?>

Салем, Ваня!

<?php endif ?>

Мысал 3. 4. Балама синтаксисті қолдану (html, txt)

Егер else және elseif конструкциясы қолданылса, төмендегі балама синтаксисті қолдануға болады.

<?php

if ($a == 5) :

print "a 5-ке тең";

print " . . . ";

elseif ($a == 6) :

print "a 6-ға тең";

print "!!!";

else:

print "a 5-ке де, 6-ға да тең емес";

endif;

?>

Switch операторы

Шартты тексеріп және соған байланысты әрекеттерді жүзеге асыратын конструкциялардың бірі - switch. Оны қазақ тіліне «ауыстырып қосқыш» деп аударуға болады. Мағынасы да солай. Айнымалының мәніне сәйкес әрекет ету блоктарының арасында ауысып отырады. Switch операторының қызметі if . . . elseif . . . else немесе if операторының жиынына өте ұқсас. Switch операторының құрылымын келесідегідей жазуға болады:

switch (өрнек немесе айнымалы) {

case мән1:

әрекет_ету_блогы1

break;

case мән2:

әрекет_ету_блогы2

break;

. . .

default:

}

If операторынан айырмашылығы, мұнда өрнектің мәні логикалық типке келтірілмейді, тек case (мән1, мән2 және т. б. ) кілттік сөзінен кейінгі мәндермен салыстырылады. Егер өрнектің мәні қандай да бір нұсқаға сәйкес келсе, онда оған сәйкес әрекет_ету_блогы - қос нектеден switch операторының соңына дейін немесе бар болса, break операторына дейін орындалады. Егер өрнектің мәні нұсқалардың ешқайсысымен сәйкес келмесе, default кілттік сөзінен кейін орналасқан әрекеттер () үнсіздік бойынша орындалады. Switch операторында өрнектің мәні тек бір рет есептеледі, ал elseif операторында шартқа байланысты бірнеше рет есептеледі, сондықтан егер өрнек күрделі болса, switch операторы жылдамырақ жұмыс істейді.

Мысал 3. 3-ті switch операторын қолданып, төмендегідей жазуға болады:

<?

$names = array("Иван", "Петр", "Семен") ;

switch ($names[0] ) {

case "Иван":

echo "Салем, Ваня!";

break;

case "Петр":

echo "Салем, Петя!";

break;

case "Семен":

echo "Салем, Сеня!";

break;

default:

echo "Салем, $names[0] .

Ал сіздің есіміңіз кім?";

}

?>

Егер бұл мысалда break операторын елемейтін болсақ, мысалы, case "Петр":, онда егер айнымалы "Петр" жолына тең болса, экран бетіне "Салем, Петя!" хабарламасы шыққаннан кейін, бағдарлама "Салем, Сеня!" хабарламасын шығарады, содан кейін break операторына кездесіп, switch операторынан кейінгі командаларын орындайды.

If операторы сияқты switchоператоры үшін балама синтаксисті қолдануға болады, мұндағы ашылатын switch фигуралы жақшасын қос нүкте, ал жабушы - endswitch; алмастырады.

Циклдер

РНР тілінде шартқа байланысты қайталанатын әрекеттерді жүзеге асыратын бірнеше конструкциялар бар. Олар while, do. . while, foreach и for циклдері. Олармен жақынырақ танысайық.

While

Құрылымы:

while (өрнек) { орындалу_блогы }

немесе

while (өрнек) : орындалу_блогы endwhile;

While - қарапайым цикл. Ол орындалу_блогындағы өрнектің мәні True болып тұрғанша командаларды орындайды (мұнда if операторындай, өрнек логикалық типке келтіріледі) . Өрнектің мәні әрбір циклдің басында тексеріледі, сондықтан егер орындалу_блогын жүзеге асыру кезінде оны мәні өзгерсе де, цикл итерацияның соңына дейін орындалады (яғни, орындалу_блогының барлық командалары жүзеге асқанша) .

<?

//бұл бағдарлама барлық жұп цифрларды экран бетіне шығарады

$i = 1;

while ($i < 10) {

if ($i % 2 == 0) print $i;

// егер цифр жұп болса, экран бетіне шығарамыз

$i++;

// және оны $i бірлікке арттырамыз

}

?>

Мысал 3. 5. While операторы (html, txt)

do . . . while

Do. . while циклі while цикліне өте ұқсас. Тек өрнектің ақиқаттығы циклдің басында емес, соңында тексеріледі. Сондықтан do. . while циклінің орындалу_блогы тым болмағанда бір рет орындалады.

Құрылымы:

do {орындалу_блогы} while (өрнек) ;

<?

// бұл бағдарлама цикл шарты орындалмағанына қарамай,

// 12 санын басып шығарады

$i = 12;

do{

if ($i % 2 == 0) print $i;

// егер сан жұп болса, онда оны басып шығарамыз

$i++;

// бірге арттырамыз

}while ($i<10)

?>

Пример 3. 6. Do. . while операторы (html, txt)

For

РНР тіліндегі ең күрделі циклдердің бірі. Ол С тілінің сәйкес циклдеріне өте ұқсас.

Құрылымы

for (өрнек1; өрнек2; өрнек3) {орындалу_блогы}

немесе

for (өрнек1; өрнек2; өрнек3) : орындалу_блогы endfor;

Мұнда көріп отырғанымыздайшарт үш өрнектен тұрады. Бірінші өрнек1 өрнегі шартсыз циклдің басында есептелінеді. Әрбір итерацияның басында өрнек2 есептелінеді. Егер ол True болса, цикл жалғасып, орындалу_блогының барлық командалары жүзеге асырылады. Егер өрнек2 мәні False болса, цикл тоқтайды. Әрбір итерацияның соңында (яғни, орындалу_блогының барлық командалары жүзеге асқаннан кейін) өрнек3 есептелінеді.

Өрнек 1, 2, 3 әрбіреуі бос болуы мүмкін. Егер өрнек2 бос болса, онда цикл анықталамаған уақытта жүзеге асуы керек (бұл жағдайда РНР бұл өрнекті әрқашан ақиқат деп ұғады) . Циклді break операторын қолданып, тоқтатуға болады.

Мысалы, for операторын қолданып, барлық жұп сандарды шығарайық:

<?php

for ($i=0; $i<10; $i++) {

if ($i % 2 == 0) print $i;

// жұп мсандарды шығарамыз

}

?>

Егер екінші өрнекті қолданбасақ (шарт $i<10), онда осы есепті break операторын қолданып шешіп көрейік.

<?php

for ($i=0; ; $i++) {

if ($i>=10) break;

// егер $i 10 санынан үлкен немесе тең болса,

// онда цикл жұмысын тоқтатамыз

if ($i % 2 == 0) print $i;

// егер сан жұп болса,

// онда оын басып шығарамыз

}

?>

Үш шартты да бос қалтыруға болады. Бұл жағдайда $i санағыштың бастапқы мәні берілмейді және ол әрбір циклдің соңында өзгермейді. Бұл әрекеттердің барлығын жеке командалар түрінде не орындалу_блогында не цикл алдында жазуға болады:

<?php

$i=0; // санағыштың бастапқы мәнін береміз

for ( ; ; ) {

if ($i>=10) break;

// егер $i 10 үлкен не тең болса,

// онда цикл жұмысын тоқтатамыз

if ($i % 2 == 0) print $i;

// егер сан жұп болса,

// онда оны басып шығарамыз

$i++; // санағышты бірге арттырамыз

}

?>

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

<?php

for ($i=0; $i<10; print $i, $i++)

/* Егер орындалу_блогында командалар жоқ болса немесе

Текбір командадан тұрса,

онда ол алынған фигуралы жақшаларды,

алып тастауға болады. */

?>

foreach

Тағы бір пайдалы конструкция. Ол РНР4 пайда болып, тек массивтермен жұмыс істеуге ғана арналған.

Синтаксис:

foreach ($array as $value) {орындалу_блогы}

немесе

foreach ($array as $key => $value)

{орындалу_блогы}

Бірінші жағдайда $array айнымалысы арқылы берілген массивтің барлық элементтері бойынша цикл құрылады. Циклдің әрбір қадамында массив элементінің ағымдағы мәні $value айнымалысына жазылады және массивтің ішкі санағышы бірге артады (сондықтан, әрбір қадам массивтің келесі элементін береді) . Орындалу_блогының ішкі бөлігінде массив элементінің ағымдағы мәні $value айнымалысының көмегімен алынуы мүмкін. Орындалу_блогы $array массивінің санына байланысты орындалады.

Жазудың екінші формасы алдыңғы жазбаны толықтырады. Циклдің әрбір қадамында массивтің ағымдағы элементінің кілтін $key айнымалысына жазады. Оны орындалу_блогында да қолдануға болады.

Foreach операторы орындала бастағанда, массивтің ішкі көрсеткіші автоматты түрде бірінші элементке барады.

<?php

$names = array("Иван", "Петр", "Семен") ;

foreach ($names as $val) {

echo "Салем, $val <br>";

// бәріне салемдеме шығарады

}

foreach ($names as $k => $val) {

// сәлемдемеден басқа,

// тізімдегі ретін шығрамыз, яғни кілтті

echo "Салем, $val !

Сен тізімде $k <br>" номердесің;

}

?>

Мысал 3. 7. foreach операторы (html, txt)

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
PHP тілі туралы
Электрондық басылымдарды жасау технологиясы және рнр скриптін оқытудың негіздері
WEB - сайттар түрлері, жобалау кезеңдері. Бағдарламалық жабдықты таңдау
PHP-скрипті программалау тілі
PHP және MySql
Бос оператор
Цикльдік бағдарламаны ұйымдастыру
Service Desk және Help Desk жүйелерін талдау
Алматы энергетика және байланыс университетіне арналған мобильді қосымша құру
Есептер жүйесінің құрылымы
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz