با عملگر null coalescing operator (؟؟) در php 7 آشنا شوید !



visibility  
mode_comment   ۱۱

null coalescing operator

isset() و شروط تک خطی

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

از شروط تک خطی هم اکثر برنامه نویسان استفاده میکنند و با آن آشنایی دارند .

به عنوان مثال مورد زیر را در نظر بگیرید :

در مثال بالا بررسی شده که آیا مقدار "user" در متغیر سراسری  GET وجود دارد یا خیر . این مورد با ()isset مورد بررسی قرار گرفته است و اگر "user" در متغیر سراسری  GET وجود داشت متغیر name با مقدار آن  برابر خوهد شد .

اما بعد از این ، از شرط تک خطی استفاده شده که اگر مقدار "user" در متغیر سراسری GET وجود نداشت مقدار "no user" برای متغیر name در نظر گرفته شود .

لازم به ذکر است که به عملگر (?) که در شروط تک خطی از آن استفاده میکنیم ، ternary operator گفته میشود .

متخصص وردپرس
قالب ها و پلاگین های حرفه ای وردپرس رو خودت بنویس! بازار طراحی قالب و پلاگین نویسی وردپرس به شدت داغه و اگر بلد باشید با برنامه نویسی اختصاصی، قالب ها و پلاگین های دلخواه بنویسید تو مارکت های مطرح دنیا و یا از طریق فریلنسری می تونید به درآمد بالا برید. دوره متخصص وردپرس سون لرن رو حتما ببینید: متخصص وردپرس arrow_back

مواردی که در بالا ذکر شد مربوط به php 5 میشوند .

در php 7 عملگر جدیدی اضافه شده که این امور را برای ما ساده تر میکند . در ادامه با این عملگر جدید آشنا میشویم .

عملگر null coalescing operator (؟؟)

در مثال قبل ، استفاده از ()isset و شروط تک خطی را یاد آوری کردیم و اکنون به عملگر جدیدی که در php 7 اضافه شده میپردازیم .

این مورد در php 7 اضافه شده است و کاری که در مثال قبل توسط  ()isset و (?) انجام دادیم را با هم انجام میدهد . برای مثال مورد زیر را در نظر بگیرید :

نتیجه همانند نتیجه مثال قبل خواهد بود اما حجم کد کمتر شده است . در اینجا اگر کلید user در متغیر سراسری GET موجود نباشد ، مقدار no user برگشت داده میشود .

خاصیت مهم دیگر این عملگر جدید آن است که میتوان در حالت زنجیروار(chaining) هم از آن استفاده کرد .

مثلا اگر بخواهیم وجود کلید user را هم در متغیر سراسری POST و هم GET بررسی کنیم و در صورت نبودن کلید user در هر دو مقدار no user را برگردانیم میتوانیم به صورت زیر عمل کنیم :

این بود توضیحات عملگر (??) در php 7 اگر نظری دارید و یا نکته ای به ذهنتان میرسد که تکمیل کننده بحث هست خوشحال میشویم در بخش نظرات با ما در میان بگذارید .

 

comment دیدگاه کاربران
mohammad

بابت مطالب مفیدی که که میذارین ، مخصوصا ویژگی های جدید درphp7 سپاسگزارم

سجاد شاعر

از نظر لطفتون ممنونیم . موفق و پیروز باشید

mahdi98

ممنون. مفید بود

سجاد شاعر

نظر لطفتونه . موفق باشید

امیرجلالی

بسیارسپاسگزارم

سجاد شاعر

خواهش میکنم دوست عزیز . موفق باشید

Lizard Gold

بسیار عالی

علیرضا

سلام مطلب جالبی بود 🙂

با تشکر از مطلب مفیدتون

ابتدا تشکر میکنم بابت این مطلب آموزشی بسیار عالی و آموزنده
یه سوال هم ذهن من رو درگیر کرده که شاید برای خیلی ها مهم نباشه. اما از روی کنجکاوی میپرسم:
روش اول از خانواده C الگوبردای شد
روش دوم چطور؟ باز هم از زبان خاص دیگه ای به PHP منتقل شده یا این مورد رو PHP خودش ایجاد کرده؟

لقمان آوند

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

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.