۷ بازدید

آخرین به‌روزرسانی: ۱۹ اردیبهشت ۱۴۰۳

زمان مطالعه: ۸ دقیقه

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

فهرست مطالب این نوشته

تابع isset در php چیست؟

تابع isset در php به منظور بررسی مقداردهی شدن یک متغیر مشخص مورد استفاده قرار می‌گیرد. یک متغیر در صورت داشتن مقداری غیر از «تهی» (Null) به عنوان متغیر مقداردهی شده در نظر گرفته می‌شود. توسعه دهندگان با استفاده از تابع isset می‌توانند متوجه شوند که آیا متغیر مورد نظر پیش‌تر در برنامه تعریف شده است یا خیر.

خروجی تابع isset در php از نوع بولی است. این مورد بدین معنا است که در صورت عدم تعریف یا مقداردهی نشدن متغیر مورد نظر یا داشتن مقدار Null این تابع مقدار False را برگشت می‌دهد و در غیر این صورت مقدار بازگشتی تابع True خواهد بود. امکان ارسال چندین آرگومان به تابع isset نیز وجود دارد که در این حالت تابع تمام پارامترهای ارسالی را از نظر مقداردهی شدن مورد بررسی قرار می‌دهد و در صورت مقداردهی شدن تمام آرگومان‌های ارسالی مقدار True را برگشت می‌دهد. در این حالت اگر یکی از متغیرها نیز مقداردهی نشده باشد آنگاه تابع مقدار False را برگشت می‌دهد.

برنامه نویس در حال کدنویسی در اتاقش در حالی که مانیتوری بزرگ روبروی او قرار دارد - تابع isset در PHP

سینتکس تابع isset در php

تابع isset در php مقداردهی شدن یک متغیر در برنامه را بررسی می‌کند. بنابراین، در گام نخست متغیر مورد نظر باید تعریف شود و مقداری غیر از Null داشته باشد. در صورت تعریف شدن متغیر و داشتن مقداری غیر از Null خروجی تابع True خواهد بود و در غیر این صورت تابع مقدار False را بر می‌گرداند. سینتکس تابع isset به صورت زیر است.

با توجه به سینتکس ارائه شده در بالا تابع isset امکان دریافت چندین پارامتر را دارد. در این حالت تابع تنها در صورتی مقدار True را بر می‌گرداند که تمام متغیرهای ارسالی از قبل مقداردهی شده باشند.

مثالی از پیاده سازی تابع isset در php

کارکرد اصلی تابع isset بررسی مقداردهی شدن یا نشدن یک متغیر در برنامه است. برای درک بهتر عملکرد این تابع و نحوه پیاده سازی آن مثال زیر آورده شده است.

1<?php
2$a = 0;
3// True because $a is set
4if (isset($a)) {
5  echo "Variable 'a' is set.<br>";
6}
7
8$b = null;
9// False because $b is NULL
10if (isset($b)) {
11  echo "Variable 'b' is set.";
12}
13?>

در قطعه کد بالا متغیر $a

 تعریف و مقداردهی شده است. بنابراین، تابع isset برای این متغیر مقدار True را بر می‌گرداند. در ادامه نیز متغیر $b

 با مقدار Null تعریف شده است که با توجه به دارا بودن مقدار Null تابع isset برای این متغیر مقدار False را برگشت می‌دهد. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

Variable 'a' is set.

پیاده سازی تابع isset در php با چند پارامتر

تابع isset امکان دریافت چندین پارامتر را به عنوان ورودی دارد. در این شرایط تابع هر کدام از متغیرهای دریافتی را مورد بررسی قرار می‌دهد و در صورتی که تمامی آن‌ها مقداردهی شده باشند و مقدار Null نیز نداشته باشند، آنگاه مقدار True را برگشت می‌دهد. نکته مهم در زمان فراخوانی تابع isset با چندین پارامتر این است که اگر تنها یک متغیر نیز مقداردهی نشده باشد، آنگاه تابع مقدار False را بر می‌گرداند. قطعه کد زیر پیاده‌سازی تابع isset با چند پارامتر را نشان می‌دهد.

1<?php
2
3$a = "Hello";
4$b = "World";
5
6if (isset($a, $b)) {
7    echo "Both variables are set.";
8} else {
9    echo "One or both variables are not set.";
10}

با توجه به مقداردهی شدن هر دو متغیر $a

 و $b

 در مثال بالا خروجی حاصل به صورت زیر خواهد بود.

Both variables are set.

چگونه برنامه نویسی PHP را یاد بگیریم؟

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

دوره‌های آموزش‌ برنامه نویسی پی اچ پی PHP فرادرس

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

تابع isset در php چه کاربردی دارد؟

isset یک از توابع داخلی مهم در زبان برنامه نویسی PHP است که خوانایی برنامه را بهبود می‌بخشد. در مستندات ارائه شده توسط سایت رسمی PHP توضیح چندانی در خصوص عملکرد و کاربردهای این تابع وجود ندارد. بر همین اساس در این بخش به زبان ساده عملکرد این تابع توضیح داده شده است.

برنامه نویس نشسته پشت لپ تاپ در حالی که ذره بینی نیز در دست دارد

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

استفاده از تابع isset در php برای مدیریت SESSION

از تابع isset می‌توان برای بررسی مقادیر مربوط به متغیرهای «نشست» (session) استفاده کرد. با استفاده از این تابع می‌توان اطلاعات ذخیره شده کاربر همچون نام کاربری، شناسه کاربری و سایر داده‌های مربوط به آن را بررسی کرد. مثال زیر به خوبی کاربرد تابع isset در این زمینه را نشان می‌دهد.

1<?php  
2
3    // variable holding the name of the user
4
5    $myUser = 'testUser';   
6
7    // assign the name of the user 
8
9    // to the session's userID
10
11    $_SESSION['userID'] = $myUser; 
12
13    // checking if the session variable
14
15    // userID exists and has a non-NULL value or not.      
16
17    if (isset($_SESSION['userID']) && !empty($_SESSION['userID'])) {  
18
19        echo " This is an available session.";  
20
21    } else {  
22
23        echo "There is no session available.";  
24
25    }  
26
27?>  
28

خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

This is an available session.

پیش‌تر در مطلب زیر از مجله فرادرس نحوه استفاده از نشست‌ها (Session) در PHP به زبان ساده توضیح داده شده است.

تابع unset در PHP چیست؟

تابع unset یکی دیگر از توابع داخلی مهم زبان PHP است. از تابع unset برای حذف یک متغیر استفاده می‌شود. علاوه بر این، تابع unset برای حذف عنصر مشخصی از یک آرایه نیز مورد استفاده قرار می‌گیرد. در نتیجه، عملکرد تابع unset به نحوه فراخوانی آن بستگی دارد. با فراخوانی تابع unset بر روی متغیر تعریف شده درون بدنه تابع آن متغیر به صورت محلی حذف خواهد شد. این مورد بدین معنا است که امکان تعریف متغیری دیگر با همین نام در بخش‌های دیگر برنامه وجود دارد. قطعه کد زیر نحوه فراخوانی تابع unset در PHP را نشان می‌دهد.

1<?php
2$a = "Hello world!";
3echo "The value of variable 'a' before unset: " . $a . "<br>";
4unset($a);
5echo "The value of variable 'a' after unset: " . $a;
6?>

خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

The value of variable 'a' before unset: Hello world!
The value of variable 'a' after unset:

به این نکته نیز باید توجه داشت که تابع unset در PHP مقداری را به عنوان خروجی برگشت نمی‌دهد.

کاربرد تابع empty در PHP چیست؟

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

bool empty($variable);

اگر متغیر ارسال شده به این تابع خالی نباشد و مقداری معادل صفر نیز نداشته باشد آنگاه مقدار False توسط تابع برگشت داده می‌شود. در غیر این صورت تابع مقدار True را بر می‌گرداند. در صورت وجود مقادیر زیر درون متغیر تابع empty مقدار True را برگشت می‌دهد.

  • 0
  • 0.0
  • “0”
  • “”
  • NULL
  • FALSE
  • ()array

قطعه کد زیر نحوه پیاده‌سازی این تابع را نشان می‌دهد.

1<?php
2
3$x = 0;
4
5var_dump(empty($x));
6
7$y = "PiMyLifeUp";
8
9var_dump(empty($y));
10
11?>

در مثال بالا تابع empty بر روی متغیرهای $x

 و $y

 اعمال شده است. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

bool(true)
bool(false)

تفاوت isset و empty

isset و empty هر دو از توابع پرکاربرد در زمینه نوع‌های داده‌ای محسوب می‌شوند. تابع isset در php مقداردهی شدن یا نشدن یک متغیر را بررسی می‌کند. در نقطه مقابل تابع empty خالی بودن یا نبودن یک متغیر را مورد بررسی قرار می‌دهد. خروجی هر دو تابع از نوع بولی است و از نظر عملکرد نیز شباهت‌های بسیاری به یکدیگر دارند.

برنامه نویس نشسته پشت لپ تاپ در حالی که به دنبال یافتن تفاوت های توابع است - تابع isset در PHP

تابع isset مقداردهی شدن یا نشدن یک متغیر را بررسی می‌کند و در صورت وجود مقدار عبارت True و در صورت عدم وجود یا داشتن مقدار Null عبارت False را بر می‌گرداند. نکته مهم در خصوص تابع isset این است که تابع خالی بودن یا نبودن متغیر را چک نمی‌کند. در نقطه مقابل تابع empty فقط خالی بودن یا نبودن متغیر را بررسی می‌کند و در صورت نداشتن مقدار عبارت True و در غیر این صورت عبارت False را برگشت می‌دهد. در صورت ارسال متغیر تعریف نشده به تابع empty این تابع به فرض خالی بودن متغیر مقدار True را برگشت می‌دهد. جدول زیر به منظور درک بهتر تفاوت تابع isset و empty آورده شده است.

مقدار متغیر empty isset
“” True True
Null True False
FALSE True True
0 True True
“string” False True
undefined True False

در جدول بالا مقادیر بازگشتی توسط توابع isset و empty در صورت مواجه با متغیرهای ارائه شده آورده شده است.

مثالی از تفاوت isset و empty

برای درک بهتر تفاوت عملکرد توابع isset و empty در PHP مثال زیر آورده شده است.

1<?php
2
3// PHP function to demonstrate
4// isset() and !empty() function
5
6// initialize a variable
7$num = '0';
8
9// Check isset() function
10if( isset ( $num ) ) {
11	print_r( $num . " is set with isset function");
12}
13
14// Display new line
15echo "n";
16
17// Initialize a variable
18$num = 1;
19
20// Check the !empty() function
21if( !empty ( $num ) ) {
22	print_r($num . " is set with !empty function");
23}
24
25?>

در مثال بالا توابع isset و empty بر روی متغیر $num

 اعمال شده‌اند که خروجی حاصل از اجرای این قطعه کد در ادامه آورده شده است.

0 is set with isset function
1 is set with !empty function

جمع‌بندی

تابع isset در php یکی از مولفه‌های کاربردی در زبان برنامه نویسی PHP است که مکانیزمی قدرتمند برای بررسی وجود متغیر و مقداردهی شدن آن در برنامه ارائه می‌دهد. استفاده از این تابع از بروز خطاهای ناشی از متغیرهای نامشخص و خالی در برنامه جلوگیری می‌کند. بنابراین، توسعه‌دهندگان با تسلط بر استفاده صحیح از این تابع می‌توانند قابلیت اطمینان و امنیت پروژه‌های خود را افزایش دهند و کدهایی کارآمدتر و بدون خطا بنویسند. به منظور ادامه مسیر یادگیری زبان برنامه نویسی PHP می‌توانید از مجموعه آموزش‌ برنامه نویسی PHP فرادرس که در ادامه آورده شده است استفاده کنید.

بر همین اساس در این مطلب از مجله فرادرس تابع isset در php و نحوه پیاده‌سازی و کاربردهای آن مورد بررسی قرار گرفت. در این مطلب علاوه بر بررسی سینتکس تابع isset به موارد استفاده و سایر توابع مرتبط به آن همچون unset و empty نیز پرداخته شد.

source

توسط expressjs.ir