آموزش پی اچ پی php – بخش ۵
یکی از پرکاربردترین دستورات در php شرط ها هستند که می توان قسمت های مختلف یک برنامه را توسط آن ها کنترل کرد. دستور شرطی IF 1 2 3 4 if ( شرط ) { اجرا در صوررت تحقق شرط } شکل کلی این دستور به صورت بالا می …
یکی از پرکاربردترین دستورات در php شرط ها هستند که می توان قسمت های مختلف یک برنامه را توسط آن ها کنترل کرد.
دستور شرطی IF
1
2
3
4
|
if ( شرط ) { اجرا در صوررت تحقق شرط } |
شکل کلی این دستور به صورت بالا می باشد که در صورت تحقق یافتن شرط قسمت میان {} اجرا می شود.
1
2
3
4
5
6
|
$a = 4; $b = 2; if ( $a > $b ) { echo 'a bigger than b' ; } |
ابتدا دو متغیر عددی تعریف کرده و به آنها مقدار دادیم سپس با دستور if به مقایسه آنها پرداختیم و مشخص کردیم در صورت تحقق شرط بخش مورد نظر چاپ شود یعنی خروجی ما a bigger than b خواهد بود.
دستور شرطی IF…ELSE
1
2
3
4
5
6
|
if ( شرط ) { اجرا در صورت تحقق شرط } else { اجرا در صورت تحقق نیافتن شرط } |
مشابه قسمت قبل می باشد فقط قسمت بعد از else در صورت تحقق نیافتن شرط اجرا می گردد.
1
2
3
4
5
6
7
8
9
|
if ( شرط ) $a = 10; $b = 20; if ( $a > $b ) { echo 'a bigger than b' ; } else { 'a smaller than b' ; } |
دستور شرطی IF…ELSE IF…ELSE
1
2
3
4
5
6
7
8
|
if ( شرط ) { اجرا در صورت تحقق شرط اول } elseif ( شرط دوم ){ اجرا در صورت تحقق یافتن شرط دوم } else { اجرا در صورت تحقق نیافتن هیچکدام از شرط ها } |
فرض کنید میخواهیم چند شرط را بررسی کنیم و نتیجه را به کاربر اعلام کنیم در اینجا باید از روش بالا استفاده کنیم.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<form method= 'post' action= '' > Your Average : <input type= 'text' name= 'average' > <input type= 'submit' name= 'submit' value= 'send' > </form> <?php if (isset( $_POST [ 'submit' ])){ $average = $_POST [ 'average' ]; if ( $average > 16 ) { echo 'عالی' ; } elseif ( $average == ۱۴ ) { echo 'متوسط' ; } else { echo 'ضعیف' ; } } ?> |
ابتدا یک فرم که ساختیم که معدل را دریافت می کند و سپس در شرط اول بررسی کردیم اگر معدل بیشتر از ۱۶ بود عالی چاپ شود و در شرط دوم اگر برابر ۱۴ بود متوسط و اگر غیر از این بود ضعیف چاپ می شود.
تنها یک نکته در کد بالا شاید برای شما جدید باشد و آن هم دستور ()isset می باشد که بررسی می کند که آیا متغیر مورد نظر ست شده یا نه و به زبان ساده تر آیا بر روی دکمه submit کلیک شده است که متغیر مورد نظر مقدار بگیرد ؟
دستور شرطی SWITCH
1
2
3
4
5
6
7
8
9
10
11
|
switch ( عبارتی که باید بررسی شود ) { case عبارت ثابت اول: اجرا در صورت تطابق یافتن عبارت اول break ; case عبارت ثابت دوم: اجرا در صورت تطابق یافتن عبارت دوم break ; default : اجرا در صورت تطابق نیافتن هیچ کدام از عبارت های ثابت } |
فرض کنید در جایی ما یک رشته را با ۱۰۰ رشته دیگر مقایسه کنیم در اینجا استفاده از شرط های زیاد باعث پیچیدگی کد می شود و باید به فکر راه حلی بهتری باشیم که switch می تواند مشکل ما را حل کند.
در این روش یک عبارتی که باید بررسی شود در داخل () گرفته و سپس با case اول مقایسه می شود و در صورتی که نتیجه صحیح باشد با break دستور پایان می یابد و در صورت صحیح نبود سراغ case های بعدی می رود و در آخر اگر با هیچ کدام صحیح نشود قسمت بعد از default اجرا می شود.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
$month = 10; switch ( $month ) { case 1: echo 'فروردین' ; break ; case 2: echo 'اردیبهشت' ; break ; case 3: echo 'خرداد' ; break ; case 4: echo 'تیر' ; break ; case 5: echo 'مرداد' ; break ; case 6: echo 'شهریور' ; break ; case 7: echo 'مهر' ; break ; case 8: echo 'آبان' ; break ; case 9: echo 'آذر' ; break ; case 10: echo 'دی' ; break ; case 11: echo 'بهمن' ; break ; case 12: echo 'اسفند' ; break ; default : echo 'این ماه در تاریخ هجری شمسی وجود ندارد.' ; } |
در کد بالا با توجه به مقدار متغیر month$ ماه مورد نظر شناسایی می شود که با این روش می توان در سایت خود ماه تولد را به عدد دریافت و به فارسی نمایش داد.
امیدوارم این بخش مورد توجه شما قرار گرفته باشد.بنده از این اینکه دیر آپ میکنم عذر میخواهم زیرا کمی درگیر کارم و وقت کافی برای نوشتن بخش های مختلف را در زمان کمتر ندارم.