سلام مهمان گرامی ، خوش آمدید. آیا این نخستین بازدید شماست ؟ وارد شده یا عضو شوید

انجمن های تخصصی علوم رایانه و هنرهای دیجیتال



آموزش گام به گام پی اچ پی php توضیحات بیشتر در مورد دستورات شرطي if، elseif و switch
زمان کنونی: 24-09-2017، 12:25 AM
کاربرانِ درحال بازدید از این موضوع: 1 مهمان
نویسنده: Mohsen Omidvar
آخرین ارسال: Mohsen Omidvar
پاسخ 1
بازدید 1832
محبوب کنید:

امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش گام به گام پی اچ پی php توضیحات بیشتر در مورد دستورات شرطي if، elseif و switch
#1
کنترل جریان در پی اچ پی با  دستورات شرطي if و switch

كنترل جريان به ترتيب و نحوه اجراي دستوراتپی اچ پی PHP برمي گردد . عبارات شرطي كه بخشي از دستورات كنترل جريان را تشكيل مي دهند براي اين هستند كه بسته به شرايط مختلف دستورات مختلفي اجرا شوند .

دستور if
اولين دستور كنترل جريان در php‌ دستورif است . كلمه if كه جزء كلمات رزرو شده php است در لغت به معناي اگر و آيا است . در واقع با استفاده از اين دستور بررسي مي كنيم كه آيا شرايط خاصي برقرار است يا خير و سپس مي گوئيم در صورت برقراري شرط يك دستور يا يك سري از دستورات اجرا شود . مانند كد زير :

کد php:
<?php
$d 
date("D");
if(
$d == "Fri")
echo 
"Have a good weekend!";
?>

قطعه کد بالا در صورتیکه مقدار متغیر ، برابر با عبارت Fri باشد پیغام مربوطه را چاپ می کند و در غیر اینصورت هیچ اقدامی انجام نمی دهد . حال اگر بخواهیم در صورت عدم برقراری شرط نیز اتفاقی بیفتد و دستور یا دستوراتی اجرا شود یک بخش دیگر به دستور if اضافه می شود و آن else می باشد به شکل زیر :
کد php:
<?php
$d 
date("D");
if(
$d == "Fri")
echo 
"Have a good weekend!";
else
echo 
"Have a good week day !";
?>

حتی می توانیم در صورت عدم برقراری شرط اول شرط دیگری را بررسی کنیم در اینصورت می توانید از ساختار elseif استفاده کرد :
کد php:
<?php
$d 
date("D");
if(
$d == "Fri")
echo 
"Have a good weekend!";
elseif(
$d == "Sat")
echo 
"Hi this is Saturday !";
elseif(
$d == "Sun")
echo 
"Hi this is Sunday !";
elseif(
$d == "Mon")
echo 
"Hi this is Monday !";
?>

این شکل نوشتن elseif معادل نوشتن یک else و if جداگانه است . مانند زیر :
کد php:
<?php
$d 
date("D");
if(
$d == "Fri")
echo 
"Have a good weekend!";
else
if(
$d == "Mon")
echo 
"Hi this is Monday !";
?>

احتمالا اکنون به این مطلب فکر می کنید که اگر شرایط مورد بررسی زیاد باشد تعداد بلوک های if زیاد می شود و خوانایی کد پائین می آید ؟ درست است . علاوه بر این سرعت اجرا هم در صورت وجود بلوک های متعدد if پائین می آید . راهکاری که برای این وضعیت پیش بینی شده است استفاده از دستور switch می باشد . که در ادامه به بررسی آن می پردازیم .

دستور switch 
این دستور به شکل کلی زیر نوشته می شود :
کد php:
<?php
switch($var)
{
case <
option1> : /* some php */ break;
case <
option2>: /* some php */ break;
.
.
.
default : 
 /* some php */ break;
}
?>

در این دستور به بررسی مقدار یک متغیر خاص می پردازیم و بر اساس مقادیر متنوع آن تصمیم گیری می کنیم . در قطعه کد بالا به جای مقادیر option که در علامت <> آمده است باید مقادیری از متغیر را بنویسیم که میخواهیم تساوی متغیر با آن مقدار خاص را بررسی کنیم . علامت <> بدین معنی است که باید این علامت و هرچه در آنست را برداشته و چیز دیگری (در اینجا مقدار) به جای آن بگذارید . به عنوان مثال یکی از قطعه کدهای بالا را با دستور switch می نویسیم :
کد php:
<?php
$d 
date("D");
switch(
$d)
{
case 
"Fri" : echo "Have a good weekend !";break;
case 
"Mon" : echo "Have a good week";break;
default : echo 
"Have a good weekday";
}
?>

در کد بالا مقدار متغیر d بررسی می شود اگر مقدار متغیر برابر با Fri باشد عبارت Have a good weekend چاپ شده و به خاطر رسیدن به دستور break کنترل برنامه به بعد از بلوک switch منتقل می شود . در حقیقت کاردستور break همین است که اجرای داخل دستور Switch را به پایان رساند . اگر دستور break وجود نداشته باشد از جایی که شرط case محقق شود تا رسیدن به اولین دستور break اجرای برنامه ادامه می یابد . اگر مقدار متغیر برابر با Mon باشد عبارت Have a good week چاپ می شود و اگر مقدار متغیر برابر هیچ یک از دو مقدار فوق (Fri و Mon) نباشد دستور default اجرا شده و عبارت Have a good weekday چاپ می شود . البته وجود دستور default اختیاریست . همچنین وجود دستور break نیز اختیاریست و صرفا به منطق اجرای برنامه و خواست برنامه نویس بستگی دارد . مثلا قطعه کد زیر را در نظر بگیرید :
کد php:
<?php
$d 
date("D");
switch(
$d)
{
case 
"Fri" : echo "Have a good weekend !";break;
case 
"Mon" : echo "Have a good week";
case 
"Thu" : echo "This is Thuesday";break;
default : echo 
"Have a good weekday";
}
?>

در این کد اگر مقدار متغیر برابر Mon باشد اول عبارت Have a good week چاپ شده و سپس به دلیل عدم وجود دستور break در انتهای این خط دستور case بعدی اجرا شده و عبارت This is Thuesday چاپ شده و بعد با رسیدن کنترل برنامه به دستور break کنترل برنامه به بعد از بلوک switch - case منتقل می شود .
*شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید*
*شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید*
*شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید*
خورشید باش که اگر خواستی بر کسی نتابی نتوانی.
پاسخ
 سپاس شده توسط baloot ، amir3d ، Ehsan ، Farzad


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دانلود آموزش زبان برنامه نویسی PHP ali_aot 1 2,248 20-12-2016، 05:59 PM
آخرین ارسال: satar660
  آموزش بوت استرپ – قسمت دوم developzoom 0 464 03-06-2016، 08:37 PM
آخرین ارسال: developzoom
  آموزش بوت استرپ – قسمت اول developzoom 0 513 20-05-2016، 08:39 PM
آخرین ارسال: developzoom
  آموزش php 8908183 0 611 16-03-2016، 02:36 PM
آخرین ارسال: 8908183
  آموزش گام به گام پی اچ پی php Mohsen Omidvar 2 3,259 01-01-2014، 05:01 PM
آخرین ارسال: Mohsen Omidvar
  دانلود رایگان آموزش برنامه نویسی SQL در PHP ali_aot 0 2,055 04-10-2013، 12:15 PM
آخرین ارسال: ali_aot

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان