ساختارهاي شرطي يكي از ابزار هاي اصلي يك زبان برنامه نويسي، محسوب مي‌شوند. در اين ساختارها، يك شرط مطرح مي‌شود و با توجه به نتيجه اين عبارت شرطي، يك سري عمليات انجام مي‌گيرند. با استفاده از اين ساختار مي‌توان قابليت سايت هاي وب خود را افزايش داد براي مثال، مي توانيد پيامي كه به كاربر نشان داده مي‌شود را با توجه به ساعت سيستم كاربر، مشخص كرد به عبارت ديگر مي توانيد اين قابليت را به برنامه خود اضافه كنيد كه اگر اين ساعت، زمان قبل از ظهر را نشان داد، پيغام Good Morning و اگر بعد از ظهر بود، پيغام Good Afternoon را نمايش دهد. در    PHP، براي ايجاد ساختار هاي شرطي، از دو عملكرد if و switch استفاده مي‌شود.

همچنين، در اين قسمت راجع به حلقه ها بحث مي‌شود كه با استفاده از آنها مي توان يك مجموعه اعمال و دستورات را براي دفعات مكرر، انجام داد. در PHP، از عملكردهاي while (همچنين (do… while و for، براي اين منظور استفاده مي‌شود.

 

  • عبارت شرطی IF :
  • از عبارت شرطي lf (كه با نام عبارت شرطي if-then نيز شناخته مي‌شود) به صورت زير استفاده مي‌شود:

If (condition) {

Statement(s);

}

در اين ساختار، بعد از if، يك جمله شرطي در داخل پرانتز قرار مي‌گيرد و سپس دستوراتي كه مي‌خواهيم در صورت درست بودن جمله شريط، اجراء شوند، را در داخل آكولاد قرار مي‌دهيم. اين دستورات مي‌توانند شامل عملياتي مانند چاپ يك رشته، جمع دو عدد و يا عمليات ديگر باشند. در انتهاي هر يك از اين دستورات، همانند خود بدنه اسكريپت،يك (;) semicolon قرار مي‌دهيم.

فراموشي در بكار بردن semicolon در انتهاي دستورات، و يا بستن يا باز كردن پرانتز ها و آكولاد ها و همچنين استفاده از يك semicolon بعد از آكولادها ، از جمله اشكالاتي هستند كه به طور معمول در ارتباط با اين ساختار، انجام مي‌گيرند.

در هنگام بررسي جمله شرطي، يكي از مقادير TRUE (صحيح) و يا FALSE (اشتباه) به اين جمله شرطي نسبت داده مي‌شود . و در صورت صحيح بودن (TRUE) جمله شرطي، دستورات داخل اين ساختار، اجراء مي‌شوند. در غير اين صورت اين دستورات ناديده گرفته مي‌شوند و خط فرمان به انتهاي اين ساختار منتقل مي شود. در قسمت بعدي مطالب بيشتري در مورد TRUE/FALSE توضيح داده مي‌شوند.

اگر بخواهيم تنها از يك دستور براي يك ساختار شرطي استفاده كنيم. نياز به استفادهاز آكولاد نخواهيم داشت. و مي توانيم اين ساختار را در يك خط قرار دهيم:

If (condition) sratment;

اين قالب خاص تنها براي حالتي كه منطقه دستورات، شامل يك دستور باشد، به كار مي‌رود.

در PHP، مي توان يك ساختار شرطي if را در داخل ساختار شرطي if ديگر قرار داد. در اين حالت بايد در مورد باز كردن و بستن آكولاد ها ، دقت كرد.

در PHP، مي توان از تابع is set( ) براي مشخص كردن مقدار دهي يا عدم مقدار دهي به يك متغير، استفاده كرد. اين تابع مقدار TRUE را در صورت صفر بودن مقدار يك متغير، بر مي‌گرداند.

عملگرهاي مقايسه اي

عملكردهايي براي انجام محاسبات بر روي اعداد (جمع (+)، تفريق (-)، ضرب (×)، تقسيم (/)، ++ و –)، عملكرد انتساب (=) كه يك مقدار را به يك متغير نسبت مي دهد و عملكرد پيوند زدن دو رشته (.) را كه از قبل مي‌شناختيم حالا به سراغ برخي عملكرد هاي مقايسه‌اي مي رويم.

در هنگام استفاده از ساختارهاي شرطي، بسياري اوقات پيش مي‌آيد كه مي  خواهيم دستوراتي را به ازاي تساوي يك مقدار با يك متغير انجام دهيم. در اين حالت براي نشان دادن اين تساوي نبايد از علامت مساوي (=) . كه در PHP به عنوان عملكرد انتساب شناخته مي‌شود، استفاده كنيم بلكه در PHP عملكرد تساوي به صورت دو علامت مساوي كنار يكديگر (= =)، مي‌باشد.

در PHP، براي نمايش عدم تساوي، از يك علامت تعجب قبل از علامت مساوي (!=) استفاده مي‌شود . در حقيقت در PHP، علامت (!) به معناي NOT (مخالف) مي‌باشد.

عملكرد هاي مقايسه اي ديگر، عبارتند از: كوچكتر از (<) بزرگتر از (>)، كوچكتر و يا مساوي (<=) و بزرگتر و يا مساوي (>=)

عملگر هاي منطقي

همان گونه كه قبلا نيز مشاهده كرديد، اگر نام يك متغير، به عنوان جمله شرطي در نظر گرفته شود. نتيجه در صورت وجود يك مقدار غير صفر براي اين متغير، TURE خواهد بود. براي مثال، نتيجه جمله شرطي در كد زير، TRUE خواهد بود.

$Variable = 5;

If ($Variable) {…

اگر يك عبارت منطقي و صحيح، به عنوان جمله شريط، در نظر گرفته شود، نتيجه همواره TURE خواهد بود. مانند:

If (5>=3) { …

همچنين اگر از يك عبارت منطقي و غير صحيح، به عنوان جمله شرطي استفاده كنيم. نتيجه FALSE خواهد بود. براي مثال، جمله شرط به كار رفته در كد زير، همواره FALSE در نظر گرفته مي‌شود:

If(5<= 3) {…

در PHP، براي تبديل جملات شرطي كه تاكنون مشاهده كرديد به جملات شرطي كه از چندين بخش تشكيل شده اند، از اين عملكرد هاي منطقي، مي توانيد استفاده كنيد: عملكرد هاي AND و && براي «و» (and)، عملكردهاي OR و || براي «يا» (or)، عملكرد NOT براي «مخالف» و يا «اين طور نيست كه» (not) و XOR براي تركيب «مخالف» و «يا» (or-not) . تفاوت عملكرد AND با && و همچنين OR با || ، در تقدم آنها در انجام محاسبات است .

با استفاده از پرانتز ها و عملكرد هاي منطقي، مي‌توانيد جملات شرطي پيچده تري را ايجاد كنيد.

استفاده از Else

ساختار شرطي بعدي، داراي عبارت هاي شرطي if-else مي‌باشند (گاهي اوقات با نام IF-THEN-ELSE  شناخته مي‌شوند). اين ساختار به ما اجازه مي‌دهند. كه يك دسته از دستورات را در صورت صحيح بودن جمله شرطي و يك دسته ديگر را در صورت ناصحيح بودن آن، اجراء كنيم.

If (condition) {

Statement (s);

} else {

statement (s);

}

 

 

 

 

 

 

استفاده از Elseif

از عبارات شرطي ديگر، عبارت شرطي if-elseif (و يا     (if  -elseif- then مي‌باشد.

If (conditional) {

Statements (s);

} elseif (conditional) {

Statement (s) z;

}

عبارت شرطي Switch

عبارات شرطي Switch آسان تر از عبارات if – else if  else است. درعبارت هاي شرطي Switch نيز تنها يكي از حالات ذكر شده، بر آورده مي‌شود. و در مورد كد زير، آن زماني كه مقدار متغير $Variable برابر يكي از حالات ذكر شده باشد:

Switch ($Variable){

Case ‘Value1”:

Statement(s) 1;

Break;

Case “Value2”;

Statement (s)z;

Break;

Default:

Statement(s) 3;

Break;

}

براي استفاده از اين عبارت شرطي، بسيار مهم است كه درك صحيحي از چگونگي كار اين عبارت شرطي داشته باشيد. در ابتدا، PHP مقدار متغير $Variable را در نظر مي‌گيرد و اگر اين مقدار برابر هر يك از حالت هايي كه در مقابل كلمات Case قرار گرفته اند، باشد (در اينجا    value1 و .(value2 دستورات مربوط به آن حالت اجراء مي‌شوند . همچنين اگر در ادامه دستورات، خط فرمان به دستور break; برخورد كند از اين ساختار شرطي خارج مي‌شود. در غير اينصورت بعد از بررسي حالتهاي ديگر، در غير اينصورت بعد از بررسي حالتهاي ديگر، از ساختار شرطي خارج مي‌شود.

حلقه while

همانگونه كه ذكر شد، حلقه ها براي اجراي مكرر يك قسمت از كد، بكار مي‌روند. براي مثال، ممكن است بخواهيم تمام 31 روز يك ماه را به عنوان گزينه هاي مختلف، در يك منوي پايين جهنده، قرار دهيم و يا ممكن است بخواهيم تمام مقادير يك آرايه را چاپ كنيم. در اين موارد و همچنين بسياري موارد ديگر، ممكن است بخواهيم از حلقه ها استفاده كنيد.

يكي از دو نوع حلقه اي كه در PHP موجود مي‌باشند، حلقه while مي‌باشد. اين حلقه تا زماني كه شرط (و يا جمله شرطي) آن داراي ارزش TRUE باشد. به تكرار دستورات داخل بدنه خود، ادامه مي‌دهد. به هنگام استفاده از اين حلقه، در ابتداي هر تكرار، اين شرط بررسي مي‌شود، زماني كه اين شرط داراي ارزش FALSE شود. خط فرمان از اين حلقه خارج مي‌شود.

While (condition) {

Statement (s);

}

براي به كار بردن حلقه while، در اين مثال مي خواهيم به صورت ديناميك يك منوي پايين جهنده تاريخ (شامل ماه، روز و سال) ايجاد كنيم.

حلقه do …while كه ساختار آ‌نها را به صورت كد زير مشاهد مي‌كنيد، حداقل يكبار اجراي دستورات را تضمين مي‌كنند:

do {

statement (s) ;

} while (condition);

همانند عبارات شرطي if، در مورد حلقه هاي while، نيز، اگر محدوده دستورات، تنها حاوي يك دستور باشد، مي‌توانيم از قرار دادن آكولاد، صرفنظر كنيم و كل ساختار را در يك خط قرار دهيم.