पीएचपी चर स्कोप
पीएचपी चर स्कोप
PHP में, वेरिएबल को स्क्रिप्ट में कहीं भी घोषित किया जा सकता है।
एक चर का दायरा स्क्रिप्ट का हिस्सा है जहां चर को संदर्भित/उपयोग किया जा सकता है।
PHP में तीन अलग-अलग चर क्षेत्र हैं:
- स्थानीय
- वैश्विक
- स्थिर
वैश्विक और स्थानीय दायरा
किसी फ़ंक्शन के बाहर घोषित एक चर का एक वैश्विक दायरा होता है और इसे केवल एक फ़ंक्शन के बाहर ही पहुँचा जा सकता है:
उदाहरण
वैश्विक दायरे के साथ परिवर्तनीय:
<?php
$x = 5; // global scope
function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
echo "<p>Variable x outside function is: $x</p>";
?>
किसी फ़ंक्शन के भीतर घोषित एक चर का एक LOCAL SCOPE होता है और इसे केवल उस फ़ंक्शन के भीतर ही एक्सेस किया जा सकता है:
उदाहरण
स्थानीय दायरे के साथ चर:
<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
आपके पास विभिन्न कार्यों में एक ही नाम के साथ स्थानीय चर हो सकते हैं, क्योंकि स्थानीय चर केवल उस फ़ंक्शन द्वारा पहचाने जाते हैं जिसमें उन्हें घोषित किया जाता है।
पीएचपी वैश्विक कीवर्ड
global
किसी फ़ंक्शन के भीतर से वैश्विक चर का उपयोग करने के लिए कीवर्ड का उपयोग किया जाता है ।
ऐसा करने के लिए, global
चर (फ़ंक्शन के अंदर) से पहले कीवर्ड का उपयोग करें:
उदाहरण
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
PHP सभी वैश्विक चरों को एक सरणी में संग्रहीत करता है जिसे
. चर का नाम रखता है। यह सरणी कार्यों के भीतर से भी पहुंच योग्य है और इसका उपयोग वैश्विक चर को सीधे अद्यतन करने के लिए किया जा सकता है।$GLOBALS[index]
index
ऊपर दिए गए उदाहरण को इस तरह फिर से लिखा जा सकता है:
उदाहरण
<?php
$x = 5;
$y = 10;
function myTest()
{
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
PHP स्थिर कीवर्ड
आम तौर पर, जब कोई फ़ंक्शन पूरा/निष्पादित होता है, तो उसके सभी चर हटा दिए जाते हैं। हालाँकि, कभी-कभी हम चाहते हैं कि एक स्थानीय चर को हटाया न जाए। हमें आगे की नौकरी के लिए इसकी आवश्यकता है।
ऐसा करने के लिए, static
जब आप पहली बार वेरिएबल घोषित करते हैं तो कीवर्ड का उपयोग करें:
उदाहरण
<?php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
फिर, हर बार फ़ंक्शन को कॉल करने पर, उस वेरिएबल में अभी भी वह जानकारी होगी जो पिछली बार फ़ंक्शन को कॉल करने के समय से निहित थी।
नोट: चर अभी भी फ़ंक्शन के लिए स्थानीय है।