⊗ppPmLpFl 124 of 447 menu

Парчамҳо дар PHP

Акнун мо меомӯзем, ки чӣ тавр бо парчамҳо кор кардан лозим. Парчам - ин тағйирёбандаи махсус аст, ки метавонад фақат ду қимат қабул кунад: true ва false. Бо ёрии парчамҳо метавон масъалаҳоеро ҳал кард, ки набудани чизеро санҷед: масалан, метавон санҷид, ки дар массив унсуре бо қимати муайян нест. Биёед оғоз кунем.

Биёед масъалаи зеринро ҳал кунем: массиви ададҳо дода шудааст, лозим аст санҷед, ки дар он унсуре бо қимати 3 ҳаст ё не. Агар ҳаст - '+++'-ро чоп кунем, агар нест - '---'-ро чоп кунем.

Аввалан биёед кӯшиш кунем, ки '+++'-ро чоп кунем. Барои ин ҳама унсурҳои массиви худро такрор мекунем ва бо шарт мепурсем - оё унсури кунунӣ ба қимати 3 баробар аст? Агар баробар аст - '+++'-ро чоп кунем:

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

Аммо ҳалли мо хеле хуб нест: чунки агар дар массив як қимати 3 набошад, балки чандто, пас '+++' чанд маротиба чоп хоҳад шуд. Биёед массиви худро ислоҳ кунем (биёед ду унсур бо қимати 3 созем) ва дар ин бовар шавем:

<?php $arr = [1, 2, 3, 4, 3, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; // чанд маротиба чоп мекунад } } ?>

Мушкилиро ислоҳ кунем: сиклиро бо ёрии break хотима диҳем, агар унсур аллакай ёфт шуда бошад:

<?php $arr = [1, 2, 3, 4, 3, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; break; // сиклро хотима медиҳем } } ?>

Биёед акнун кӯшиш кунем, ки чунон кунем, ки, агар дар массив умуман унсурҳое бо қимати 3 набошад, '---' чоп шавад. Гумроҳии омадашуда ин аст, ки ба шарти мо else илова кунед - дар ин сурат '---' барои ҳама унсурҳое чоп мешавад, ки 3 набошанд:

<?php $arr = [1, 2, 3, 4, 5]; foreach ($arr as $elem) { if ($elem === 3) { echo '+++'; // дар унсури 3 чоп мекунад } else { echo '---'; // дар унсурҳои 1, 2, 4, 5 чоп мекунад } } ?>

Пас, фикри илова кардани else - фикри нохуб аст, корнакунӣ нест. Барои ҳалли масъалаҳои ин навъ (чунин масъалаҳо костанд воқеъ мешаванд) истифодаи парчамҳои номбаршударо истифода мекунанд.

Чунон ки дар боло зикр шуд, парчам - ин чунин тағйирёбанда аст, ки метавонад ду қимат қабул кунад: true ё false.

Пас, биёед тағйирёбандаи flag бо чунин қимат созем: агар он ба true баробар бошад, пас дар массив унсури 3 ҳаст, ва агар false бошад, пас чунин унсур нест.

Дар аввал тағйирёбандаи flag ба қимати false гузорем - яъне мепиндорем, ки унсури 3 дар массив нест:

$arr = [1, 2, 3, 4, 5]; $flag = false; // мепиндорем, ки унсури 3 дар массив нест

Баъд сиклро бо шарт ба тавре оғоз мекунем, ки мо пештар ин корро карда будем. Агар сикл мушоҳида кунад, ки дар массив унсури 3 ҳаст - пас тағйирёбандаи flag ба қимати true гузорем ва аз сикл бо ёрии break берун меоем:

<?php $arr = [1, 2, 3, 4, 5]; $flag = false; // мепиндорем, ки унсури 3 дар массив нест foreach ($arr as $elem) { if ($elem === 3) { $flag = true; // унсур ҳаст - тағйирёбандаи $flag-ро боқиматгузорӣ мекунем break; // аз сикл берун меоем } } ?>

Ҷавоби савол, оё дар массив 3 ҳаст ё не, мо метавонем фақат пас аз сикл диҳем. Ва ин ҷавоб аллакай дар мост: пас аз сикл тағйирёбандаи flag метавонист false боқӣ монда бошад ё метавонист қимати худро ба true тағйир диҳад, агар сикл дар массив 3-ро мушоҳида карда бошад:

<?php $arr = [1, 2, 3, 4, 5]; $flag = false; foreach ($arr as $elem) { if ($elem === 3) { $flag = true; break; } } // дар ин ҷо тағйирёбандаи $flag ба true ё false баробар аст ?>

Акнун пас аз сикл мо метавонем шарте созем, ки ба тағйирёбандаи flag нигоҳ кунад ва дар экран '+++' ё '---'-ро чоп кунад:

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

Массив дода шудааст:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; ?>

Санҷед, ки дар ин массив унсур 'c' ҳаст ё не. Агар ҳаст - '+++'-ро чоп кунед, ва агар нест - '---'-ро чоп кунед.

Рамзеро нависед, ки ададеро бар он санҷад, ки содда аст ё не. Адади содда танҳо ба як ва ба худи худ тақсим мешавад, ва ба дигар ададҳо тақсим намешавад.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан