मैं उपयोग करता हूं echoऔर print_rबहुत कुछ करता हूं , और लगभग कभी उपयोग नहीं करता print।
मुझे लगता है echoकि एक मैक्रो है, और print_rएक उपनाम है var_dump।
लेकिन यह मतभेदों को समझाने का मानक तरीका नहीं है।
मैं उपयोग करता हूं echoऔर print_rबहुत कुछ करता हूं , और लगभग कभी उपयोग नहीं करता print।
मुझे लगता है echoकि एक मैक्रो है, और print_rएक उपनाम है var_dump।
लेकिन यह मतभेदों को समझाने का मानक तरीका नहीं है।
जवाबों:
printऔर echoकमोबेश यही स्थिति है; वे दोनों भाषा निर्माण हैं जो स्ट्रिंग प्रदर्शित करते हैं। अंतर सूक्ष्म हैं: print1 का रिटर्न मान है इसलिए इसका उपयोग अभिव्यक्तियों में किया जा सकता है जबकि echoएक voidवापसी प्रकार है; echoकई पैरामीटर ले सकते हैं, हालांकि ऐसा उपयोग दुर्लभ है; echoसे थोड़ा तेज हैprint । (व्यक्तिगत रूप से, मैं हमेशा उपयोग करता हूं echo, कभी नहीं print।)
var_dumpएक चर के विस्तृत डंप को प्रिंट करता है, जिसमें इसका प्रकार और किसी भी उप-आइटम का प्रकार (यदि यह एक सरणी या ऑब्जेक्ट है) शामिल है। print_rएक चर को अधिक मानव-पठनीय रूप में प्रिंट करता है: तार उद्धृत नहीं किए जाते हैं, प्रकार की जानकारी छोड़ दी जाती है, सरणी आकार नहीं दिए जाते हैं, आदि।
var_dumpआम तौर पर print_rडिबगिंग की तुलना में अधिक उपयोगी है , मेरे अनुभव में। यह विशेष रूप से तब उपयोगी होता है जब आप यह नहीं जानते कि आपके चर में कौन से मूल्य / प्रकार हैं। इस परीक्षण कार्यक्रम पर विचार करें:
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
साथ print_rआप के बीच अंतर नहीं बता सकता 0और 0.0, या falseऔर '':
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
गूंज
कोई वापसी मूल्य नहीं
जैसे echo "String 1", "String 2"
प्रिंट
रिटर्न 1 , इसलिए इसे एक अभिव्यक्ति में इस्तेमाल किया जा सकता है
जैसे print "Hello"
या, if ($expr && print "foo")
print_r ()
var_dump ()
print_r(), उदाहरण के लिए यह मूल्यों के प्रकार को भी प्रिंट करता हैvar_export ()
print_r()औरvar_dump() - परिणामी आउटपुट वैध PHP कोड है!टिप्पणियाँ:
printएक अभिव्यक्ति में इस्तेमाल किया जा सकता है, मैं लोगों को ऐसा करने से बचने की सलाह देता हूं, क्योंकि यह कोड पठनीयता के लिए बुरा है (और क्योंकि यह हमेशा उपयोगी होने की संभावना नहीं है)। अन्य ऑपरेटरों के साथ बातचीत करने पर पूर्ववर्ती नियम भी भ्रामक हो सकते हैं। इसके कारण, मेरे पास व्यक्तिगत रूप से कभी भी इसका उपयोग करने का कारण नहीं है echo।echoऔर printभाषा निर्माण हैं, print_r()और var_dump()/ var_export()नियमित कार्य हैं। आपको echoया तर्क को संलग्न करने के लिए कोष्ठक की आवश्यकता नहीं हैprint ( यदि आप उनका उपयोग नहीं करते हैं, तो आपको और यदि वे एक अभिव्यक्ति के रूप में हैं, तो उन्हें माना जाएगा)।var_export()वैध PHP कोड लौटाता है, जो मान को बाद में पढ़ने की अनुमति देता है, उत्पादन कोड के लिए इस पर निर्भर होने से उपयोग की आवश्यकता के कारण सुरक्षा कमजोरियों को पेश करना आसान हो सकता है eval()। बेहतर होगा कि मानों को स्टोर करने और बैक मान पढ़ने के बजाय JSON जैसे प्रारूप का उपयोग करें। गति तुलनीय होगी।echo $a, $b;सिंटैक्स चाहते हैं जब आप बस कर सकते हैं echo $a . $b;: यदि या तो $ या $ b वास्तव में बड़े तार हैं तो बाद वाला अतिरिक्त मेमोरी और समय का उपयोग करेगा इससे पहले कि मेमोरी में स्ट्रिंग्स का एक अलग संक्षिप्त संस्करण बना दिया जाए। या तो ब्राउज़र के लिए आउटपुट शुरू कर सकते हैं।
echo $a; echo $b;भी उपयोग कर सकते हैं।
सिर्फ जोड़ने के लिए जॉन के जवाब में , echoकेवल वही होना चाहिए जो आप पृष्ठ पर सामग्री प्रिंट करने के लिए उपयोग करते हैं।
printथोड़ा धीमा है। var_dump()और print_r()केवल डीबग करने के लिए उपयोग किया जाना चाहिए।
इसके अलावा उल्लेख के लायक है print_r()औरvar_dump() डिफ़ॉल्ट रूप से गूंज होगा, print_r()कम से कम एक दूसरा तर्क जोड़ें जो इसे वापस करने के लिए इसे प्राप्त करने के लिए सच का मूल्यांकन करता है, जैसे print_r($array, TRUE)।
गूँजने और लौटने के बीच का अंतर है:
echoआईएनजी और returnआईएनजी में क्या अंतर है ?
print_rजब मैं PHP कोडिंग कर रहा था, तब मैंने रिटर्निंग पैरामाम का काफी उपयोग किया है । हालाँकि, मैंने लिखना शुरू कर दिया print_r( $foo, 1 );। यह टाइप करने के लिए तेज है;) और इसके बारे में मुझे पठनीयता की ज्यादा परवाह नहीं है क्योंकि मुझे लगता है कि नाम print_rबहुत वर्णनात्मक नहीं है।
var_dump()दूसरे तर्क का समर्थन नहीं print_r()करता है, जैसे यह मान को वापस करने की अनुमति देता है, क्योंकि var_dump()आउटपुट के लिए कई तर्क स्वीकार कर सकते हैं।
echo
वापसी प्रकार नहीं है
print
वापसी प्रकार है
print_r()
स्वरूपित के रूप में आउटपुट,
इको , प्रिंट , प्रिंट_आर और वर_डंप के बीच अंतर बहुत सरल है।
गूंज
इको वास्तव में एक फ़ंक्शन नहीं है, लेकिन एक भाषा निर्माण है जिसका उपयोग आउटपुट प्रिंट करने के लिए किया जाता है। यह प्रिंट की तुलना में मामूली तेज है।
echo "Hello World"; // this will print Hello World
echo "Hello ","World"; // Multiple arguments - this will print Hello World
$var_1=55;
echo "$var_1"; // this will print 55
echo "var_1=".$var_1; // this will print var_1=55
echo 45+$var_1; // this will print 100
$var_2="PHP";
echo "$var_2"; // this will print PHP
$var_3=array(99,98,97) // Arrays are not possible with echo (loop or index value required)
$var_4=array("P"=>"3","J"=>"4"); // Arrays are not possible with echo (loop or index value required)
आप पेरो के साथ या उसके बिना भी इको स्टेटमेंट का उपयोग कर सकते हैं
echo ("Hello World"); // this will print Hello World
प्रिंट
जैसे इको कंस्ट्रक्शन प्रिंट भी एक भाषा निर्माण है न कि एक वास्तविक कार्य। इको और प्रिंट के बीच अंतर यह है कि प्रिंट केवल एक ही तर्क को स्वीकार करता है और प्रिंट हमेशा रिटर्न करता है। 1. जबकि ईको का कोई रिटर्न मूल्य नहीं है। इसलिए प्रिंट स्टेटमेंट का इस्तेमाल एक्सप्रेशन में किया जा सकता है।
print "Hello World"; // this will print Hello World
print "Hello ","World"; // Multiple arguments - NOT POSSIBLE with print
$var_1=55;
print "$var_1"; // this will print 55
print "var_1=".$var_1; // this will print var_1=55
print 45+$var_1; // this will print 100
$var_2="PHP";
print "$var_2"; // this will print PHP
$var_3=array(99,98,97) // Arrays are not possible with print (loop or index value required)
$var_4=array("P"=>"3","J"=>"4"); // Arrays are not possible with print (loop or index value required)
इको की तरह , प्रिंट का उपयोग कोष्ठक के साथ या बिना किया जा सकता है।
print ("Hello World"); // this will print Hello World
print_r
Print_r () समारोह में एक चर के बारे में मानव पठनीय जानकारी मुद्रित करने के लिए प्रयोग किया जाता है। यदि तर्क एक सरणी है, तो print_r () फ़ंक्शन इसकी कुंजियों और तत्वों (वस्तुओं के लिए समान ) को प्रिंट करता है।
print_r ("Hello World"); // this will print Hello World
$var_1=55;
print_r ("$var_1"); // this will print 55
print_r ("var_1=".$var_1); // this will print var_1=55
print_r (45+$var_1); // this will print 100
$var_2="PHP";
print_r ("$var_2"); // this will print PHP
$var_3=array(99,98,97) // this will print Array ( [0] => 1 [1] => 2 [2] => 3 )
$var_4=array("P"=>"3","J"=>"4"); // this will print Array ( [P] => 3 [J] => 4 )
var_dump
var_dump फ़ंक्शन आमतौर पर डिबगिंग के लिए उपयोग किया जाता है और चर / सरणी / ऑब्जेक्ट के बारे में जानकारी (प्रकार और मूल्य) को प्रिंट करता है।
var_dump($var_1); // this will print int(5444)
var_dump($var_2); // this will print string(5) "Hello"
var_dump($var_3); // this will print array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
var_dump($var_4); // this will print array(2) { ["P"]=> string(1) "3" ["J"]=> string(1) "4" }
इको :
यह एक समारोह नहीं रिटर्न मूल्य है
कोष्ठकों की आवश्यकता नहीं है
प्रिंट एरियर नहीं
छाप
यह वास्तविक कार्य है
वापसी प्रकार 1
कोष्ठक आवश्यक है
प्रिंट एरियर नहीं
print_r
मानव पठनीय प्रारूप में प्रिंट करें
स्ट्रिंग उद्धरण में नहीं
प्रकार और सभी की तरह परिवर्तनीय की विस्तार से जानकारी नहीं
var_dump
सभी प्रकार के तत्व और उप तत्व जैसे चर की डंप जानकारी
printहै न कोई वास्तविक समारोह, यह एक भाषा सिर्फ गूंज की तरह निर्माण है। इसे बयान के रूप में भी इस्तेमाल किया जा सकता है। echoहै न एक बयान है और न ही यह एक में इस्तेमाल किया जा सकता। printकरता नहीं कोष्ठकों की आवश्यकता होती है, और न ही या तो गूंज करते हैं या होगा एक समारोह की तरह कोष्ठक का उपयोग मुद्रित करें। आपने मुख्य अंतरों में से एक को भी याद किया - इको कॉमा द्वारा अलग किए गए इको को कई स्ट्रिंग्स स्वीकार करता है।
इको: इको एक भाषा का निर्माण है, जहां इसके साथ कोष्ठक का उपयोग करने की आवश्यकता नहीं होती है और यह किसी भी संख्या में पैरामीटर ले सकता है और वापस आ सकता है।
void echo (param1,param2,param3.....);
Example: echo "test1","test2,test3";
प्रिंट: यह एक भाषा का निर्माण है, जहां कोष्ठक का उपयोग करने की आवश्यकता नहीं है, यह सिर्फ एक पैरामीटर लेता है और वापस लौटता है
1 always.
int print(param1);
print "test1";
print "test1","test2"; // It will give syntax error
प्रिंट: यह एक फ़ंक्शन है जो कम से कम एक स्ट्रिंग और प्रारूप शैली लेता है और आउटपुट स्ट्रिंग की लंबाई लौटाता है।
int printf($string,$s);
$s= "Shailesh";
$i= printf("Hello %s how are you?",$s);
echo $i;
Output : Hello Shailesh how are you?
27
echo returns void so its execution is faster than print and printf
print_r() का उपयोग मानव पठनीय प्रारूप में सरणी को प्रिंट करने के लिए किया जाता है।
Print_r () मूल्य का प्रिंट आउट ले सकता है, लेकिन अगर दूसरा ध्वज पैरामीटर पास हो गया है और TRUE है - तो यह मुद्रित परिणाम को स्ट्रिंग के रूप में लौटाएगा और मानक आउटपुट पर कुछ भी नहीं भेजेगा। Var_dump के बारे में। यदि XDebug डीबगर स्थापित किया गया है, तो आउटपुट परिणाम बहुत अधिक पठनीय और समझने योग्य तरीके से स्वरूपित होंगे।