120


'

همه چیز درباره شرط ها در php


conditions '
'


شرط در php چیست؟

شاید برای ساخت برنامه های کوچک و ساده تر با استفاده از زبان php نیازی به استفاده از شرط ها نداشته باشید، اما اگر تا به حال ساخت برنامه های پیچیده تر را امتحان کرده باشید، قطعا نیاز به این مفاهیم را احساس کرده اید. شرط ها می توانند برای تفکیک حالات مختلف استفاده شوند و در برنامه ها ی بزرگ که با داده های زیاد و حالات مختلف سر و کار دارند، کاربرد بیشتری دارد.

در بسیاری از برنامه ها نیاز است تا در صورت وجود هر حالت، کاری مختلف انجام شود، برای مثال ما یک متغیر داریم که مقدار آن 0 یا یک است و ما نمی دانیم که کدام است، برای تشخیص مقدار آن، یک کد می نویسیم که در صورت 0 بودن جمله variable is zero و در صورت یک بودن جمله variable is one را برگرداند. برای انجام اینکار قطعا به شرط ها نیاز خواهیم داشت، به این صورت که ابتدا بررسی می کنیم که آیا متغیر 0 است؟ اگر چنین است جمله اول را برگردان.

در آموزش عملگر ها در php و در قسمت عملگر های مقایسه ای، گفتیم که این عملگر ها کاربرد زیادی در شرط ها دارند. در واقع قسمت اصلی هر شرط، صورت شرط است و برای مشخص کردن صورت شرط از عملگر ها مقایسه ای کمک می گیریم.

if

اولین شرطی که با آن آشنا می شویم، if است. if در لغت به معنای اگر است و در کدنویسی نیز همین معنا را می دهد. اگر بخواهیم مثالی که در بند 2 زده شد را پیاده کنیم، در اولین قدم باید از این شرط کمک بگیریم. برای تعریف هر شرط ابتدا نام آن را می نویسیم، سپس () را نوشته و در بین آن صورت شرط را می نویسیم و در نهایت {} را نوشته و بین آن کدی که می خواهیم اجرا شود.

if

اجرای if به این صورت است که وقتی که به شرط رسید، بررسی می کند که آیا صورت شرط درست است یا نه؟ برای مثال در تصویر بالا اگر متغیر x برابر 0 باشد شرط برقرار است. حال اگر شرط برقرار بود، وارد اجرای شرط می شود و کدی که در شرط نوشته ایم را ارجا می کند. برای مثال در تصویر بالا اگر x برابر 0 باشد، zero چاپ می شود.

else

دومین شرط مهم در زبان php، شرط else است. این شرط که در لغت به معنای وگرنه است، یک شرط مکمل برای if است که در صورت درست نبودن صورت شرط if ارجا می شود. در واقع عملکرد آن به این صورت است که اگر شرط اصلی یعنی if برقرار باشد، کد درون آن اجرا می شود و وارد else نخواهد شد، اما اگر شرط اصلی برقرار نباشد، به جای اجرا شدن کد شرط اصلی، وارد else شده و کد درون آن را اجرا می کند.

else

elseif

elseif آخرین شرط زبان php است. این شرط درواقع دیگر شرط مکمل if است که برای تعیین شرطی جدید استفاده می شود. درواقع else هیچ صورت شرطی ندارد و اگر بخواهیم چند حالت را مشخص کنیم، نمی توانیم از else کمک بگیریم، به جای آن می توانیم elseif را نوشته و صورت شرطی دیگر را مشخص کنیم، تا در صورت برقرار نبودن شرط اول، وارد شرط دوم شود.

elseif

کاربرد شرط ها

شرط ها از پرکاربرد ترین مفاهیم برنامه نویسی هستند و ساخت برنامه های پیچیده مانند سایت ها و اپلیکیشن های موبایل بدون استفاده از آنها غیر ممکن است. شرط ها بیشتر برای این استفاده می شوند تا چند حالت مختلف را تفکیک کنند و در مقابل هر حالت جداگونه، پاسخ دیگری بدهند تا حالات مختلف با یکدیگر اشتباه گرفته نشوند. از برنامه هایی که بسیار متکی به شرط ها هستند، می توان به صفحات لاگین اشاره کرد که چندین حالت مختلف را در نظر می گیرند. برای مثال حالت اول این است رمز و نام کاربری وارد شده اشتباه باشد، حالت دوم درست بودن رمز و نام کاربری است و حالت سوم خالی بودن نام و نام کاربری می باشد. البته صفحات پیچیده تر و بهتر حالات دیگری را نیز بررسی می کنند تا اطلاعات دقیق تری به کاربرد بدهند، اما در ساده ترین حالت نیز به شرط ها نیاز خواهیم داشت.

شرط ها کاربرد های دیگری نظیر بررسی وجود داشتن یک متغیر را نیز دارند که می تواند کمک کند تا حالات جدیدی را بررسی کنیم. این امر در بررسی وجود سشن های کاربرد زیادی دارد.

isset

isset یک تابع است که مقادیر true یا false را برمی گرداند. از این تابع بیشتر در شرط ها استفاده می شود و برای بررسی وجود داشتن یک متغیر استفاده می شود. ورودی این تابع یک متغیر است. درصورتی که متغیر وجود داشته باشد، مقدار true و اگر وجود نداشته باشد مقدار false به عنوان خروجی در نظر گرفته خواهد شد.

isset

عملگر های منطقی در شرط ها

از دیگر عملگر هایی که در آموزش عملگر ها در php برای استفاده در شرط ها معرفی شدند، عملگر های منظقی هستند. این عملگر ها نیز می توانند در کنار عملگر های مقایسه ای در شرط ها استفاده شوند و حالات را محدود تر می کنند. این عملگر ها کمک می کنند تا حالات مختلف را محدود تر کنیم و شرایط را برای اجرای هر شرط محدود تر کنیم.

برای مثال اگر بخواهیم حالات را محدود کنیم و یک صفحه لاگین پیشرفته تر بنویسیم، تا بگوید که رمز وارد شده اشتباه است یا نام کاربری می توانیم از این عملگر ها استفاده کنیم. بدین صورت که بگوییم آیا رمز عبور و نام کاربری غلط است؟ آیا رمز عبور غلط و نام کاربری درست است؟ آیا نام کاربری غلط و رمز عبور درست است و ... . (البته این روش می تواند در صورت کامل نبودن باگ های امنیتی زیادی را درست کند، پس پیشنهاد می کنیم که یا از یک الگوریتم کامل استفاده کنید و یا از این روش استفاده نکنید)

and_or_operators_in_if '