فرق empty با isset رو میشه با زبان صادهتر بکین؟ من گیج شدم ممنون
سلام دوست عزیز
isset برای چک کردن این هست که متغییری که بهش پاس میدیم تعریف شده یا نه؟ اگه تعریف شده باشه true و اگه نشده باشه false برمیگردونه. به مثالهای زیر دقت کنید:
$str = "7Learn";
// Check value of $str variable is set or notisset($str) ? "str is set" : "str is not set"; // Result: "str is set"// Check undefined variableisset($test) ? "test is set" : "test is not set"; // Result: "test is not set"
empty برای چک کردن اینه که متغییری که بهش میدیم خالی هست یا نه؟ اگه خالی باشه بهمون true میده اگه خالی نباشه false. به مثالهای زیر دقت کنید:
// of empty() function$var1 = 0;
$var2 = 0.0;
$var3 = "0";
$var4 = NULL;
$var5 = false;
$var6 = array();
$var7 = "";
// For value 0 as integerempty($var1) ? print_r("True\\n") : print_r("False\\n"); // True// For value 0.0 as floatempty($var2) ? print_r("True\\n") : print_r("False\\n"); // True// For value 0 as stringempty($var3) ? print_r("True\\n") : print_r("False\\n"); // True// For value Nullempty($var4) ? print_r("True\\n") : print_r("False\\n"); // True// For value falseempty($var5) ? print_r("True\\n") : print_r("False\\n"); // True// For arrayempty($var6) ? print_r("True\\n") : print_r("False\\n"); // True// For empty stringempty($var7) ? print_r("True\\n") : print_r("False\\n"); // True// For not declare $var8empty($var8) ? print_r("True\\n") : print_r("False\\n"); // True
نکته: empty در خودش isset رو هم داره یعنی برابر این کد هست: !isset($var) || $var == false
برای اطلاعات بیشتر میتونید این مقاله رو مطالعه کنید.