दिलचस्प पोस्ट
WebClient.DownloadString () अजीब अक्षर के साथ तार देता है इंटरफ़ेस बिल्डर में गलत रंग आंशिक मिलान GAE खोज API एसक्यूएल – पंक्तियों से घटती मूल्य को घटाना लिनक्स पर केबीआईटीआईटी (और) मिलते हैं पोस्टग्रेज़: JSONB फ़ील्ड से एकत्रित कुंजी / मान जोड़े को समतल करें? Google मानचित्र v3 जियोकोडिंग सर्वर-साइड दो बिंदुओं के बीच कर्नेल घनत्व की साजिश को छिपाना मुझे जावा में पर्ल स्क्रिप्ट को कैसे कॉल करना चाहिए? रिलेशनल डेटाबेस में इनहेरिटेंस मॉडलिंग कैसे करें? संरचना और कक्षा के सदस्यों के माध्यम से विस्फोट IOS 8 UIPageViewController संक्रमण के बाद लागू बाधाओं Code-behind में DataTemplate के अंदर एक WPF तत्व ढूंढें एसईसीएल क्वेरी से वेतन तालिका से नौवीं सबसे ज्यादा वेतन मिलता है स्क्रीन के उन्मुखीकरण-निर्भर ऊँचाई और चौड़ाई कैसे प्राप्त करें?

PHP में एकल-उद्धृत और डबल-उद्धृत स्ट्रिंग्स में क्या अंतर है?

मैं PHP प्रोग्रामिंग में एक विशेषज्ञ नहीं हूं, लेकिन मैं थोड़ा उलझन में हूं कि मुझे PHP में कुछ कोड को एकल उद्धरण में रखा गया स्ट्रिंग और कभी-कभी डबल कोट्स में क्यों दिखाई देता है।

मैं बस .NET, या C भाषा में जानता हूं, यदि वह एकल उद्धरण में है, इसका मतलब है कि यह एक अक्षर है, स्ट्रिंग नहीं।

Solutions Collecting From Web of "PHP में एकल-उद्धृत और डबल-उद्धृत स्ट्रिंग्स में क्या अंतर है?"

पीएचपी स्ट्रिंग को दो तरह से निर्दिष्ट नहीं किया जा सकता है, लेकिन चार तरीकों से

  1. एकल उद्धृत स्ट्रिंग चीजों को लगभग पूरी तरह से "जैसा है" प्रदर्शित करेगा। चर और अधिकांश एस्केप अनुक्रमों का व्याख्या नहीं किया जाएगा। अपवाद यह है कि एक शाब्दिक सिंगल उद्धरण प्रदर्शित करने के लिए, आप इसे एक बैक स्लैश के साथ बच सकते हैं, और एक बैक स्लैश प्रदर्शित करने के लिए, आप इसे एक और बैकस्लैश से बच सकते हैं \\ ( तो हां, यहां तक ​​कि एकल उद्धृत स्ट्रिंग्स पार्स किए जाते हैं )।
  2. डबल उद्धरण स्ट्रिंग भाग निकलने वाले अक्षर (कुछ रेगेक्स सहित) को प्रदर्शित करेगा, और स्ट्रिंग में वेरिएबल का मूल्यांकन किया जाएगा। यहां एक महत्वपूर्ण मुद्दा यह है कि आप वैरिएबल के नाम को अलग करने के लिए कुरकुरा ब्रेस का उपयोग कर सकते हैं जो आप मूल्यांकन करना चाहते हैं । उदाहरण के लिए, मान लें कि आपके पास वेरिएबल $type और आप echo "The $types are" को echo "The $types are" करने के लिए क्या करेंगे जो कि वेरिएबल $types लिए देखेंगे इस प्रयोग को चारों ओर पाने के लिए echo "The {$type}s are" आप डॉलर के संकेत के पहले या बाद में बाएं कसकर रख सकते हैं। कैसे सरणी चर का उपयोग करने के लिए और इस तरह देख स्ट्रिंग पार्सिंग पर एक नज़र रखना
  3. हेरडॉक स्ट्रिंग सिंटैक्स दोहरे उद्धृत तारों की तरह कार्य करता है। यह <<< शुरू होता है इस ऑपरेटर के बाद, एक पहचानकर्ता प्रदान किया जाता है, फिर एक नई लाइन स्ट्रिंग स्वयं इस प्रकार है, और फिर एक ही पहचानकर्ता फिर से उद्धरण को बंद करने के लिए। आपको इस सिंटैक्स में उद्धरणों से बचने की आवश्यकता नहीं है।
  4. आजडोक (PHP 5.3.0 के बाद से) स्ट्रिंग सिंटैक्स अनिवार्य रूप से एकल उद्धृत स्ट्रिंग्स की तरह कार्य करता है। अंतर यह है कि यहां तक ​​कि एकल उद्धरण या बैकस्लैश को बचाना भी नहीं पड़ता है। एक आइडीडोक को उसी <<< हेडॉक्स के लिए इस्तेमाल किया गया अनुक्रम के साथ पहचाना जाता है, लेकिन पहचानकर्ता जो निम्नानुसार है एकल उद्धरणों में, जैसे <<<'EOT'अब डोड में कोई पार्सिंग नहीं किया गया है

गति:
मैं एकल उद्धरणों पर अधिक वजन नहीं डालता, जो कि दोहरे उद्धरण चिह्नों की तुलना में तेज़ है। वे निश्चित रूप से कुछ स्थितियों में तेज़ हैं यहां एक लेख समझा गया है जिसमें एक और दोहरे उद्धरण हैं, जो कि PHP 4.3 (निचले Useless Optimizations नीचे की ओर, अनुभाग C ) से अनिवार्य रूप से समान रूप से तीव्र हैं । इसके अलावा, इस बेंचमार्क पेज में एक बनाम डबल कोट की तुलना है। अधिकांश तुलना एक समान हैं। एक तुलना है जहां दोहरे उद्धरण एकल उद्धरणों की तुलना में धीमी हैं।

चीजों को दोहरे उद्धरण में मूल्यांकन किया जाता है लेकिन एकल में नहीं:

 $s = "dollars"; echo 'This costs a lot of $s.'; // This costs a lot of $s. echo "This costs a lot of $s."; // This costs a lot of dollars. 

एकल उद्धृत

एक स्ट्रिंग निर्दिष्ट करने का सबसे आसान तरीका यह एकल उद्धरण चिह्नों में संलग्न करना है। एकल उद्धरण आम तौर पर तेजी से होता है, और साइड स्ट्रिंग के रूप में इलाज किए गए सभी चीजों के अंदर उद्धृत किया गया है।

उदाहरण:

 echo 'Start with a simple string'; echo 'String\'s apostrophe'; echo 'String with a php variable'.$name; 

डबल उद्धृत

PHP में दोहरे उद्धरण चिह्नों का उपयोग अलग कोड के लिए उपयोग करने से बचने के लिए (नोट: वेरिएबल को शामिल करने के लिए कर्ली ब्रेसिंग {} का उपयोग करें {} यदि आप स्ट्रिंग में कॉकटाइनेशन ( . ऑपरेटर) का उपयोग नहीं करना चाहते हैं।

उदाहरण:

 echo "Start with a simple string"; echo "String's apostrophe"; echo "String with a php variable {$name}"; 

क्या कोई निष्पादन लाभ एकल बोली बनाम डबल कोट की PHP में है?

हाँ। सिंगल कोट्स का उपयोग करने के लिए यह थोड़ा तेज है

एक बोली के अंदर क्या है यह व्याख्या करने के लिए PHP अतिरिक्त संसाधन का उपयोग नहीं करेगा। जब आप डबल उद्धरणों का उपयोग करते हैं तो PHP को यह जांचने के लिए पार्स करना होगा कि इसमें कोई भी वैरिएबल है या नहीं।

एक एकल उद्धृत स्ट्रिंग में इसके भीतर चर का अर्थ नहीं है। एक डबल उद्धृत स्ट्रिंग करता है

इसके अलावा, एक डबल-उद्धृत स्ट्रिंग में बैकस्लाश बिना अपोप्रोफ़्स हो सकते हैं, जबकि एकल-उद्धृत स्ट्रिंग में अपरिवर्तनीय उद्धरण चिह्न शामिल हो सकते हैं।

सिंगल-उद्धृत स्ट्रिंग रनटाइम पर तेज़ हैं क्योंकि उन्हें पार्स होने की आवश्यकता नहीं है।

PHP में, 'my name' और 'my name' दोनों स्ट्रिंग हैं। आप PHP मैनुअल पर इसके बारे में अधिक पढ़ सकते हैं।

आपको पता होना चाहिए कि चीजें हैं

 $a = 'name'; $b = "my $a"; == 'my name' $c = 'my $a'; != 'my name' 

PHP में, लोग स्ट्रिंग को परिभाषित करने के लिए दोहरे उद्धरण का उपयोग करते हुए 'a' , 'my name' , 'abc xyz' जैसे एक निरंतर स्ट्रिंग को परिभाषित करने के लिए सिंगल कोट का उपयोग करते हैं, जैसे "a $b $c $d" पहचानकर्ता।

और दूसरी बात यह है,

 echo 'my name'; 

तुलना में तेज़ है

 echo "my name"; 

परंतु

 echo 'my ' . $a; 

की तुलना में धीमी है

 echo "my $a"; 

स्ट्रिंग के दूसरे इस्तेमाल के लिए यह सच है।

दोनों प्रकार के वर्ण संलग्न हैं तार हैं एक प्रकार का उद्धरण आसानी से अन्य प्रकार के उद्धरण चिह्नों को लगाया जाता है। "'" और '"' । कोटेशन के प्रकारों के बीच का सबसे बड़ा अंतर यह है कि संलग्न पहचानकर्ता संदर्भों को दोहरे उद्धरण चिह्नों के अंदर प्रतिस्थापित किया जाता है, लेकिन एकल उद्धरण चिह्नों के अंदर नहीं।

PHP में एकल बोली पाठ को स्ट्रिंग मान और डबल कोट टेक्स्ट के रूप में माना जाता है जो उनके मान की जगह और प्रसंस्करण द्वारा चर को पार्स करेगा।

 $test = "variable"; echo "Hello Mr $test"; // the output would be: Hello Mr variable echo 'Hello Mr $test'; // the output would be: Hello Mr $test 

यहां, डबल उद्धरण मूल्य को पार्स करें और एकल उद्धरण को स्ट्रिंग मान ($ test variable को पार्स करने के बिना) माना जाता है।

सिंगल, डबल, हेरेडोक, अब डॉक कोट का उदाहरण

  <?php $fname = "David"; //Single quotes echo 'My name is $fname .'; // My name is $fname. //Double quotes echo "My name is $fname."; // My name is David.` //curly braces to isolate the name of the variable echo "My name is {$fname}."; // My name is David. //Example of heredoc echo $foo = <<<abc My name is {$fname} abc; //Example of nowdoc echo <<<'abc' My name is "$name". Now, I am printing some abc; ?> 

एक बात:

यह ध्यान रखना बहुत जरूरी है कि हेरेडॉक के समापन पहचानकर्ता के साथ एक पंक्ति में अर्धविराम (;) के अलावा कोई अन्य वर्ण नहीं होना चाहिए इसका अर्थ विशेष रूप से पहचानकर्ता को इंडेंट नहीं किया जा सकता है, और अर्धविराम से पहले या बाद में कोई रिक्त स्थान या टैब नहीं हो सकता है।

उदाहरण:

  $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. EOD; 

यदि हम प्रतिध्वनि वक्तव्य में दोहरे उद्धरण चिह्नों का उपयोग करते हैं, तो यह चर डेटा और स्ट्रिंग दोनों की जांच करेगा।

अगर हम इको स्टेटमेंट में सिंगल कोट्स का उपयोग करते हैं, तो यह सभी डेटा स्ट्रिंग के रूप में ही विचार करेगा।

अधिक जानकारी के लिए देखें http://phptutorial.co.in/php-echo-print/