और var_dump, के बीच अंतर क्या है ?var_exportprint_r
और var_dump, के बीच अंतर क्या है ?var_exportprint_r
जवाबों:
var_dump डीबगिंग उद्देश्यों के लिए है। var_dumpहमेशा परिणाम प्रिंट करता है।
// var_dump(array('', false, 42, array('42')));
array(4) {
[0]=> string(0) ""
[1]=> bool(false)
[2]=> int(42)
[3]=> array(1) {[0]=>string(2) "42")}
}
print_r डीबगिंग उद्देश्यों के लिए भी है, लेकिन इसमें सदस्य का प्रकार शामिल नहीं है। यदि आप अपने सरणी में तत्वों के प्रकार जानते हैं, तो इसका उपयोग करना एक अच्छा विचार है, लेकिन अन्यथा भ्रामक हो सकता है। print_rडिफ़ॉल्ट रूप से परिणाम प्रिंट करता है, लेकिन वैकल्पिक$returnपैरामीटरका उपयोग करके स्ट्रिंग के रूप में वापस जाने की अनुमति देता है।
Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)
var_export प्रिंट करता है मान्य php कोड। उपयोगी यदि आपने कुछ मानों की गणना की है और परिणाम को किसी अन्य स्क्रिप्ट में स्थिर के रूप में चाहते हैं। ध्यान दें किvar_exportसंदर्भ चक्र / पुनरावर्ती सरणियों नहीं संभाल सकता है, जबकिvar_dumpऔरprint_rइन के लिए जाँच करें। var_exportडिफ़ॉल्ट रूप से परिणाम प्रिंट करता है, लेकिन वैकल्पिक$returnपैरामीटरका उपयोग करके स्ट्रिंग के रूप में वापस जाने की अनुमति देता है।
array (
0 => '',
1 => false,
2 => 42,
3 => array (0 => '42',),
)
व्यक्तिगत रूप से, मुझे लगता var_exportहै कि संक्षिप्त और सटीक का सबसे अच्छा समझौता है।
var_export, इसकी प्रकृति के कारण, भयावह पुनरावर्ती मृत्यु पर, अच्छी तरह से, पुनरावर्ती सरणियों की मृत्यु हो जाएगी। print_rऔर var_dump(हालांकि, बाद के बारे में पूरी तरह से निश्चित नहीं हूं, क्योंकि मैं आमतौर पर इसका उपयोग नहीं करता हूं) उस मुद्दे पर नहीं है। इसलिए var_export($_GLOBALS);, उदाहरण के लिए (जिसमें स्वयं शामिल नहीं है)। :)
var_dumpआउटपुट पसंद करता हूं । बहुत बुरा यह एक स्ट्रिंग के रूप में आउटपुट वापस करने की अनुमति नहीं देता है। जैसा कि मैं ऊपर टिप्पणी में @ iconoclast की भावना से संबंधित कर सकते हैं। लेकिन चयन करने के लिए होने var_exportसे अधिक var_dumpउपयोग के इस मामले में मेरे लिए स्वीकार्य है। पूर्णता के लिए, इस संबंधित सुविधा अनुरोध पर ध्यान दें ।