تفاوت بین توابع var_dump و print_r در php
تفاوت توابع var_dump و print_r از نظر نمایش محتوای متغیرها و به خصوص متغیرهای آرایه ای چیست؟
تابع var_dump اطلاعات ساختاری (شامل نوع و مقدار) در رابطه با متغیرها را نمایش می دهد. اگر متغیر آرایه ای باشد، آنها به صورت بازگشتی به همراه مقادیری که دارند گسترش می یابند تا ساختار را نشان دهند. این تابع همچنین نشان می دهد که کدام مقادیر و ویژگی های شی مرجع هستند.
تابع print_r اطلاعاتی در رابطه با یک متغیر نشان می دهد که توسط انسان قابل خواندن باشند. در مورد متغیرهای آرایه این تابع در یک فرمت شامل کلید و عنصر خروجی را ارایه می دهد. همین حالت برای اشیا نیز صدق می کند.
مثال:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj)
output:
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
print_r($obj)
output:
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)