2010-03-30 12 views

उत्तर

10

नहीं, वे नहीं करते हैं। अलग <?php ?> टैग समान वैरिएबल स्कोप साझा करते हैं। आप किसी भी स्कोप से घोषित किसी भी चर का उपयोग कर सकते हैं:

<?php $foo = 4; ?> 
<?php echo $foo; /* will echo 4 */ ?> 

PHP में एकमात्र स्कोपिंग धारणा फ़ंक्शंस या विधियों के लिए मौजूद है। किसी फ़ंक्शन या विधि में वैश्विक चर का उपयोग करने के लिए, आपको $GLOBALS सरणी, या global $theVariableINeed; अपने फ़ंक्शन के अंदर घोषणा का उपयोग करना होगा।

+0

पुन: "PHP में केवल scoping धारणा कार्य या तरीकों के लिए मौजूद है", पीएचपी 5.3 और एक तरह से अपने कान पर कि बयान कर देते हैं नामस्थान। –

1

नहीं, डिफ़ॉल्ट रूप से सभी फ़ाइलें PHP में समान दायरे साझा करती हैं। कक्षाओं या कार्यों का उपयोग करके आपको प्राप्त करने वाला एकमात्र स्कोपिंग है।

0

आप एक ही पेज में

<php 
$a = '111'; 
?> 

और

<php 
echo $a 
?> 

है, तो यह होगा उत्पादन 111, जिसका अर्थ है, यह पहली पीएचपी टुकड़ा से चर को पहचानता है।

1

PHP में परिवर्तनीय दायरा इस तरह काम नहीं करता है।

परिवर्तनीय स्कोर कक्षाओं और कार्यों में काम कर रहा है। उदाहरण के लिए:

<?php $a = 10 ?> 

<?php echo $a; ?> 

यह काम करेगा।

हालांकि:

<?php 
$a = 10; 

function get_a(){ 
    echo $a; 
} 
?> 

यह एक काम नहीं करेगा। यह या तो $ मूल्य या नोटिस स्तर त्रुटि नहीं दिखा रहा है (आपकी कॉन्फ़िगरेशन के आधार पर)

अधिक जानकारी के लिए, आप see this page कर सकते हैं।

1

आप स्क्रिप्ट के कुछ हिस्सों के बारे में सोच सकते हैं कि नहीं चर, उद्धरण, आदि के किसी भी प्रक्षेप बिना छोड़कर, एक गूंज बयान के अंदर <?php ?> समकक्ष के रूप में हैं - केवल <?php ?>। उदाहरण के लिए तो, आप भी कुछ इस तरह कर सकते हैं:

 
<?php 
if (42) 
{ 
?> 
    This will only be output if 42 is true. 
<?php 
} 
?> 
+1

नोट: मैं यह नहीं कह रहा हूं कि यह करना एक अच्छा विचार है, यह सिर्फ मेरे बिंदु को अच्छी तरह से दिखाता है। –

+0

यह सुविधा स्वचालित रूप से जेनरेट किए गए कोड के लिए बेहद उपयोगी है, लेकिन मैं इसे स्वयं पढ़ या लिखना नहीं चाहूंगा। – zneak

+0

तो सकल। लेकिन हे PHP जेएसएक्स से आगे था: डी – Askdesigners