Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP कोड HTML से पहले क्यों क्रियान्वित हो रहा है?

echo तत्काल उत्पादन करता है। यदि आप किसी फ़ंक्शन को प्रतिध्वनित करने का प्रयास करते हैं जो स्वयं एक प्रतिध्वनि करता है, तो फ़ंक्शन की प्रतिध्वनि पहले निष्पादित होती है। उदा.

function foo() {
   echo 'foo';
}

echo 'bar' . foo();   // output foobar

और

. के समकक्ष के रूप में निष्पादित करता है
echo 'foo';
echo 'bar';

क्यों? क्योंकि echo पहले आउटपुट होने वाली स्ट्रिंग का निर्माण करना है। तो bar . से पहले प्रतिध्वनित किया जा सकता है, मूल प्रतिध्वनि को foo() call पर कॉल करना होगा . वह फ़ंक्शन कुछ भी वापस नहीं करता है, यह केवल अपनी प्रतिध्वनि करता है। एकाधिक echo कॉल एक दूसरे के साथ समन्वय नहीं करते हैं, इसलिए फू की गूंज इसका आउटपुट करती है। फिर foo पैरेंट इको को कुछ भी नहीं देता है, इसलिए आप echo 'bar' . null , और आउटपुट bar

यदि आपके पास यह था:

function bar() {
   return 'bar';
}

echo 'foo' . bar();

यह अपेक्षा के अनुरूप काम करेगा। निष्पादन क्रम होगा:

$temp = bar(); // $temp gets string'bar'
echo 'foo' . $temp;
echo 'foo' . 'bar';
echo 'foobar';
-> output foobar


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql के OUTFILE का उपयोग किए बिना mysql से csv

  2. ट्रिगर बनाने से पहले DELIMITER पर MySQL सिंटैक्स त्रुटि

  3. क्या मैं MySQL में पैरामीटर के साथ दृश्य बना सकता हूं?

  4. MySQL सीमा सीमा

  5. पर्ल:दूरस्थ MYSQL तालिका को किसी अन्य डेटाबेस में कॉपी/मिरर कैसे करें? शायद अलग संरचना भी?