• illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید تا کنون 6252 نفر در 14 دوره آموزشی سون لرن ثبت نام کرده اند !

آموزش PHP (بخش هفتم) شرط ها و حلقه ها

29106 ۸ مرداد ۹۱

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

شرط ها و حلقه ها بسیار کاربرد دارند .

شرط ها : شرط ها گاهی اوقات باعث تغییر مسیر برنامه می شوند ، شما هر اتفاق یا رویدادی را که در سیستم عامل خود مشاهده می کنید یک شرط است مثلا وقتی درایو E شما فضای کافی برای کپی یک فایل را نداشته باشد ، یک پیغام برای شما ظاهر می شود و می گوید که فضای کافی ندارید و این نیز یک شرط است .

دستور شرطی if :

زندگی بدون تصمیم گیری معنا و مفهومی ندارد ، PHP نیز اینگونه می باشد ، پرکاربردترین دستورات شرطی ، دستور if می باشد ، برای اینکه مفهوم شرط برای شما درک شود یک مثال می زنیم :

اگر (if)  هوا گرم شد ، من خانه می مانم

در زبان php شرط بدین صورت نوشته می شود :

همانطور که مشاهده نمودید ، شرط ما داخل پرانتر قرار می گیردو اگر نتیجه درست بود ، شرط ما که بین براکت ها نوشته می شود اجرا میگردد :

نکته : در زبان php همیشه و بعد از هر خط کد از علامت نقطه ویرگول (;) استفاده می شود ولی برای شرط ها از این علامت استفاده نمی شود .

کد های درون براکت ها تنها وقتی اجرا می شوند که شرط ما صحیح یا True باشد ، در غیر اینصورت شما می توانید کاری دیگر انجام دهید و یا از برنامه خارج شوید .

به مثال زیر توجه نمائید :

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

بعضی وقت ها شما فقط به دستور if نیاز دارید و اگر هم شرط شما false شد برای شما اهمیت چندانی ندارد ولی گاهی اوقات در صورتی که شرط شما صحیح نبود باید یک کار دیگر انجام شود ، در این حالت از دستور if else استفاده می شود :

به مثال زیر توجه نمائید :

در قطعه کد بالا ، ما یک متغیر به نام d تعریف نموده ایم و با استفاده از تابع date ، روز کنونی را به متغیر d مقدار دهی کرده ایم ، حال در قسمت شرط ، شری قرار داده ایم که اگر روز کنونی برابر با جمعه (Fri) بود ، جمله Have a nice weekend را چاپ نماید واگر هم روز کنونی جمعه نبود ، جمله Have a nice day را چاپ نماید.

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

به مثال زیر توجه نمائید :

در قطعه کد بالا ، اگر روز کنونی ما Fri بود ، جمله Have a nice weekend چاپ می شود ، در صورتی که جمعه نبود شرط دوم چک می شود ، اگر روز کنونی برابر با Sun بود جمله Have a nice Sunday چاپ می شود و در غیر اینصورت جمله Have a nice day چاپ می شود.

نکته : دستور elseif را می توانید به صورت else if نیز تایپ نمائید

دستور شرطی Switch :

دستور switch که یکی دیگر از دستورات شرطی می باشد را می توانید یک حالت دیگر از if-else در نظر بگیرید که با استفاده از این دستور می توان یک متغیر را با شرط ها بسیار زیادی مقایسه نمود ، دستور switch اینگونه نوشته می شوند :

همانطور که قطعه کد بالا را مشاهده نمودید ، ما یک متغیر را با دستور switch مورد شرط قرار می دهیم (n) سپس با استفاده از دستور case یک مقدار جایگذاری می کنیم که اگر n برابر با label1 بود دستورات ما اجرا شود و سپس با استفاده از دستور break از شرط خارج می شود و به همین صورت می توانید دستورات شرطی خود را با استفاده از case قرار دهید و در آخر یک گزینه پیش فرض (Default) می توانید قرار دهید که اگر متغیر شما برابر با هیچکدام از شرط ها نبود ، اجرا شود.

به مثال زیر توجه فرمائید :

در قطعه کد فوق ، یک متغیر با نام x و مقدار یک قرار داده ایم ، سپس متغیر را با دستور switch مورد سرط قرار داده ایم ، سپس متغیر را با مقادیر 1 و 2 و 3 مقایسه نموده ایم و در دستور default نیز یک مقدار پیش فرض قرار داده ایم ، هم اکنون اگر شما کد فوق را در xampp اجرا نمائید ، در خروجی Number 1 چاپ می شود زیرا متغیر ما برابر با یک بود.

نکته :

  • عبارت بعد از کلمه کلیدی case حتما باید یک عدد یا یک رشته متنی باشد.
  • درون کلمه کلیدی case از عملگرها نمی توانید استفاده نمائید  مثلا case 100>200
  • اگر هیچ کدام از شروط صحیح نباشد ، دستور default اجرا می شود و اگر default نوشته نشده باشد ، دستور switch خیلی آروم و با آرامش خارج می شود.

حلقه ها در زبان php :

یک حلقه یا Loop قسمتی از یک کد می باشد که بارها و بارها اجرا میشود ، اگر بخواهم برای این بخش مثالی بزنم ، از یک سایت مثال خواهم زد :

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

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

نکته : معمولا در کد نویسی ، ترکیبی از شرط ها و حلقه ها استفاده می شود که این کار باعث انعطاف پذیری برنامه ما می شود.

حلقه while   :

حلقه while ساده ترین نوع حلقه می باشد (تا زمانی که) وطریقه نوشتن این حلقه بدین صورت می باشد :

برای اینکه با کربرد while آشنا شوید به مثال زیر توجه نمائید :

در مثال فوق ، ما یک متغیر i با مقدار 1 تعریف نموده ایم ، سپس در قسمت while شرط گذاشته ایم که تا زمانی ادامه پیدا کند که متغیر ما (که برابر با یک می باشد) کوچکتر مساوی 5 شود ، یعنی حلقه ما 5 بار تکرار می شود ، سپس مفدار متغیر i چاپ شود و پس از چاپ یک مقدار به متغیر اضافه شود مثلا بعد از اینکه 1 چاپ شد ، متغیر با ++ یک مقدار اضافه می شود سپس مجددا شرط برقرار می شود.

نکته : در قسمت های گذشته آموزش ، ما تاکید نمودیم که از نام های متغیر مفهموی استفاده نمائید که اگر دو هفته دیگر کد خود را مشاهده نمودید ف بدانید که متغیر مورد نظر شما برای چه کاری استفاده می شود ولی متغیر هایی همچون i و j و k به صورت قرار دادی بین برنامه نویسان برای شمارنده حلقه ها استفاده می شوند.

نکته : همانطور که کد فوق را مشاهده نمودید ، ما بعد از چاپ هر مقدار متغیر ، یک مقدار به متغیر اضافه نموده ایم ، اگر این کار انجام نمی دادیم ، شرط تا بی نهایت تکرار می شد .

حلقه do...while :

یک حالت دیگر حلقه while ، حلقه do...while می باشد ، که به جای اینکه شرط حلقه را در ابتدای حلقه بررسی کند ، در انتهای حبقه بررسی می نمائید :

نکته : شاید از خودتان بپرسید که چرا اصلا از این دستور استفاده می شود ، چه فرقی می کند که شرط در ابتدای حلقه باشد و یا در انتهای حلقه ؟؟؟ در پاسخ به این سوال باید گفت که دقیقا تفوات این دو در این ابتدا و انتها می باشد ، در دستور while چون شرط در ابتدای حلقه ایجاد می گردد ، ممکن ست حلقه یک بار هم اجرا نشود ولی درحلقه do...while ، حلقه ما حداق یک بار اجرا می شود حتی اگر شرط ما هیچ وقت صحیح نباشد .

به مثال زیر توجه نمائید :

در قطعه کد فوق ، متغیر ما برابر با 1000 می باشد ، ولی شرط ما گفته است که تا زمانی که متغیر ما کوچکتر مساوی 100 باشد ، با این حال متغیر ما بسیار بزرگتر از شرط می باشد ولی شرط ما یک بار اجرا می گردد ، می توانید امتحان نمائید .

حلقه for :

این حلقه پر کاربرد ترین نوع حلقه ها می باشد ، حلقه for دارای تعداد تکرار مشخصی می باشد ، ساختار این حلقه بدین گونه می باشد :

به مثال زیر توجه نمائید :

در قطعه کد فوق ،نقطه شروع رو برابر با 1 قرار داده ایم ، و شرط گذاشته ایم تا زمانی حلقه تکرار شوید که متغیر ما کوچکتر مساوی 5 باشد و به ازای هر بار تکرار حلقه ، یک مقدار به متغیر i اضافه شود . (++). خروجی را حتما در xampp اجرا نمائید.

حلقه روی آرایه ها foreach :

نوع آخر حلقه ها در زبان php ، حلقه روی آرایه ها می باشد ، حلقه foreach به دو صورت کاربرد دارد :

کاربرد اول :اگر تنها می خواهید هر عنصر آرایه را بخوانید از این نوع استفاده می شود:

در قسمت فوق ، array نام آرایه و value نام متغیر موقت می باشد.

به مثال زیر توجه نمائید :

در قطعه کد فوق ، روی آرایه x یک حلقه را اجرا نموده ایم و نام هر عنصر در یک خط جداگانه برای ما به نمایش در خواهد آمد.

کاربرد دوم : ایجاد حلقه بر روی شاخص گذاری رشته ای:

از این نوع حلقه زمانی استفاده می شود که شما دارای یک آرایه همراه با شاخص رشته ای باشد زیرا به شما اجازه دسترسی به کلید و هم مقدار عنصر آرایه را می دهد:

به مثال زیر توجه نمائید :

در قطعه کد فوق ، یک حلقه بر روی آرایه book قرار داده ایم و مقدار key و value آن را چاپ می نمائیم.

نکته : کلمه کلیدی foreach باید سرهم نوشته شود و for each اشتباه می باشد.
نکته :

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

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

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 31 دیدگاه برای این مطلب ارسال شده است. نظردهی برای این مطلب بسته شده است .

  • ‏‏

    ممنون از آموزشتون. البته من الان وقت ندارم و از 4درس جا موندم و چون این کدها نیاز به تمرین دارن و نه خوندن، حتما بعدا برمی‌گردم و ادامه می‌دم. منتظر منم باشین جام نذارین زیاد. 😀

  • ‏‏

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

    • ‏‏
      میلاد حیدری(۱۴ مرداد ۱۳۹۱)

      بعد از اینکه این نرم افزار رو (xampp) رو نصب نمودید ، در address bar مرورگر خود ، آدرس http://localhost/xampp/phpinfo.php را وارد نمائید ، اگر این صفحه قابل نمایش بود ، بعنی php در ویندوز شما نصب شده است . حال اگر شما فایل های php خود را در آدرس htdocs در فولدر xampp (جایی که این نرم افزار را نصب نموده اید) بروید و سپس وارد فولدر xampp شوید ، و یک فایل php در این مکان ذخیره کنید و آن را با آدرس http://localhost/xampp/YourNameFile.php اجرا نمائید ، کد شما پردازش و اجرا می شود

      • ‏‏

        خیلی ممنون از راهنمایی تون
        مرسی
        اگه بازم مشکلی داشتم مزاحم اوقاتتون میشم
        خسته نباشید
        موفق باشید

  • ‏‏
    حبیب(۲۲ دی ۱۳۹۱)

    ممنون شما با سایت 3eo.ir نسبتی ندارید؟! 😎

  • ‏‏
    مهرابی(۳۰ تیر ۱۳۹۲)

    با سلام و خداقوت و تشکر از مطالب عالی تون.
    یه سؤال
    اگه بخواهیم دوتا شرط چک بشه که اگه شرط اول درست بود بره سراغ شرط دوم اگه اون هم درست بود دستورات اجرا بشه باید شرط را چطوری بنویسیم؟

    تو کد elseif نوشته بودید شرط دوم درصورتی اجرا می شود که شرط اول صحیح نباشد، اگه بخواهیم در صورتی اجرا شود که شرط اول صحیح باشد باید چکار کنیم؟
    به این شکل:

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

    اگر شرط دوم ب درست بود:
    کدها اجرا شود.
    اگر شرط دوم ب درست نبود:
    کد اجرا نشود.
    پایان
    پایان

    ببخشید اگه طولانی شد و پیشاپیش تشکر از پاسختون

    • ‏‏
      لقمان آوند(۳۰ تیر ۱۳۹۲)

      خوب از if های تو در تو استفاده کن :

      خودت که کدش رو گذاشتی . همینطور درسته . پس دیگه چی می خوای ؟

  • ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram