نوشته شده توسط:

تابع var_dump() یک تابع کاربردی برای نمایش ساختار اطلاعات است. مثال زیر را ببینید:

var_dump(2);

خروجی دستور فوق int 2 است. که بیان گر این است که ورودی این تابع یک عدد integer بوده است.

مثال زیر:

var_dump("2")

خروجی تابع فوق عبارت string '2' (length=1) که بیان گر رشته بودن ورودی تابع با طول یک است.

شاید مهم ترین کابرد تابع var_dump() استفاده به منظور بررسی آرایه هاست. مثال زیر را با هم ببینیم:

var_dump(array('1', '2'));

خروجی تابع فوق به شکل زیر است:

array (size=2)
  0 => string '1' (length=1)
  1 => string '2' (length=1)

البته می‌توان چند آرایه را نیز به تابع var_dump داد. مانند زیر:

var_dump(array('1', '2'), array('a', 'b'));

که خروجی تابع فوق به صورت زیر است:

array (size=2)
  0 => string '1' (length=1)
  1 => string '2' (length=1)
array (size=2)
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)

مقایسه var_dump و print_r

همانطور که می‌دانید، تابع print_r نیز مانند var_dump برای چاپ آرایه‌ها کاربرد دارد. باید گفت print_r تنها کلید و مقدار را نمایش می‌دهد ولی var_dump اطلاعات بیشتری شامل نوع و طول را نیز نمایش می‌دهد. در نمایش object‌ها نیز var_dump اطلاعات بیشتری را به نمایش در می‌آورد. در زیر مثالی از نمایش object با هر دو تابع print_r و var_dump می‌بینیم:

$obj = (object) array('BMW', 'BENZ', 'KIA');
var_dump($obj);
print_r($obj);

خروجی به شکل زیر است:

object(stdClass)[1]
  string 'BMW' (length=3)
  string 'BENZ' (length=4)
  string 'KIA' (length=3)

stdClass Object ( [0] => BMW [1] => BENZ [2] => KIA )

مشکل نمایش نا مناسب تابع var_dump

معمولا خروجی تابع var_dump همانطور که در تصویر زیر می‌بینید رنگ بندی شده و مرتب است: 

نمایش var_dump

ولی گاهی نتیجه اجرای همین آرایه بالا به شکل نامناسب زیر نمایش داده می‌شود:

نمایش نا مناسب var_dump

دلیل این مشکل فعال نبودن وصله XDebug در تنظیمات php.ini است. برای حل این مشکل نقطه ویرگول را از اول عبارت زیر حذف کرده و Apache خود را مجددا راه اندازی کنید:

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
شما اولین نظر را برای این مطلب درج کنید
دریافت خبرنامه
منتظر بمانید
نظر شما با موفقیت ثبت شد