• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نکاتی درباب دستور isset و دستور empty
#1
isset: اگر متغیر تعریف نشده باشه یا NULL باشه، این دستور مقدار FALSE رو برمی گردونه. همچنین اگر متغیری رفرنس شده باشه و unset شده باشه، باز هم این دستور FALSE برمیگردنه(در صورتی که متغیر کماکان در حافظه وجود داره و فقط از variable table پی اچ پی حذف شده). اما اگر مقدار متغیر 0 باشه یا ""، یا ''، یا 0.0، یا FALSE، یا array() این دستور TRUE برمیگردونه.

empty: اگر متغیر تعریف نشده باشه، یا NULL باشه یا 0، یا ""، یا ''، یا 0.0، یا FALSE، یا array() باشه این دستور TRUEبرمیگردونه.

چند تست جالب:
کد پی‌اچ‌پی:
<?php

error_reporting
(0);

echo (int)empty(
"{$_SERVER[12345]}");
echo (int)empty(
"{$GLOBALS[12345]}");
echo (int)empty(
__FILE__ 0); // <------ !
echo (int)empty("{$myVar}");
echo (int)empty(
"{$myArray[7574757475747574757475747574757475747747574757475747574]}");
echo (int)empty(
"{$myAnotherArray['abcdefabcdefabcdefabcdefabcdefabcdefabcdefababcdefabcdefabcdef']}");
echo (int)empty(
"\n");

// 1111110 
همگی empty هستند بجز خط آخر...
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : undefined kasbookar ayoubsys


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان