آموزش کامل استفاده از تابع var_dump در php
تابع 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 همانطور که در تصویر زیر میبینید رنگ بندی شده و مرتب است:
ولی گاهی نتیجه اجرای همین آرایه بالا به شکل نامناسب زیر نمایش داده میشود:
دلیل این مشکل فعال نبودن وصله XDebug در تنظیمات php.ini است. برای حل این مشکل نقطه ویرگول را از اول عبارت زیر حذف کرده و Apache خود را مجددا راه اندازی کنید:
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
دیدگاهی بنویسید