PHP Variable एक कंटेनर की तरह काम करता है जो एक वैल्यू को स्टोर करता है। इसको इस तरह से समझते है, आप एक उपन्यास लिख रहे है और उसके मेन हीरो का नाम Ram है, पूरा ५०० पेज लिखने के बाद आप सोचते है की हीरो का नाम बदल कर Shyam कर देते है। अब आप नाम बदलना शुरू कर देते है, आपको लगभग 700 जगह पर बदलना पड़ता हैं। अब इन जैसे समस्याओ से बचने के लिए PHP में Variable का इस्तेमाल करते है।
आप एक variable बनाते है $hero और हर जगह, जहा भी हीरो के नाम के जरुरत पड़ती है वहा पर आप राम न लिख कर वेरिएबल $hero लिखते हैं। परन्तु Variable को कही इस्तेमाल करने पहले उसको एक वैल्यू देना पड़ता है, हमारे केस में $hero का नाम Ram है तो हम उस variable ($hero) को एक वैल्यू दे देते है Ram, $hero = "Ram";
अब आपको जब भी hero का नाम बदलना है तो वेरिएबल के वैल्यू को बदल दो जैसे, $hero = "Shyam";
$hero एक variable है जिसने कंटेनर की तरह काम किया और अपने अन्दर एक वैल्यू (Ram या Shyam) को स्टोर किया।
Basic rules for variables in PHP
- एक variable हमेसा
$
चिह्न (sign) से शुरू होता है, इसके बाद ही variable का नाम आता है। - केवल एक ही special character
_
का इस्तेमाल किया जा सकता है variable के नाम में। - एक variable का नाम संख्याओं (numbers) से शुरू नहीं किया जा सकता है।
- Variable का नाम case sensitive होता है
$text
और$Text
दोनों एक दुसरे से अलग है, तथा ये दो variable हैं। - Variables नाम में खाली स्थान नहीं हो सकते है जैसे की $number=10; को $num ber=10; नहीं लिख सकते हैं।
<?php
$hero = "राम";
$age = 26;
echo "$hero एक अच्छा इंसान है, $hero की उम्र $age साल है";
?>
राम एक अच्छा इंसान है, राम की उम्र 26 साल है
ऊपर दिए गए उदाहरण में, आप देखेंगे कि $hero
variable का वैल्यू "राम"
को double quotation marks से घिरा हुआ है।
" "
) के घेराव में रखते है।
PHP Variables Scope
PHP में दो variables scope होते है।
- Local Scope
- Global Scope
एक PHP script के अन्दर कही भी variable को बना सकते है, पर कही भी आप अपने मर्जी से इस्तेमाल नहीं कर सकते है। अब कौन सा variable को कहा पर इस्तेमाल करना है यह बताने का काम करता है variables scope, जैसे की (किसी function के अंदर इस्तेमाल करना है या किसी function के बाहर)।
Local Scope
एक variable जो किसी function के अंदर बनाया जाता है उसी को स्थानीय स्कोप (Local Scope) कहा जाता है, अब एक Local Scope variable को केवल उसी function के अंदर इस्तेमाल किया जा सकता है (जिस function के अंदर उस variable को बनाया गया है)।
<?php
function testLocal(){
$num = 15;
echo "Variable num inside function is: $num";
}
testLocal();
?>
Variable num inside function is: 15
जैसा कि हम जानते हैं कि local scope variable को केवल उस function के अंदर ही एक्सेस किया जा सकता है।
आइए एक बार फ़ंक्शन के बाहर से local scope variable को एक्सेस करने का प्रयास करें।
<?php
function testLocal(){
$num = 15;
}
testLocal();
echo "Variable num outside function is: $num";
?>
Notice: Undefined variable: num
num outside function is:
ऊपर के उदाहरण को समझते है, जैसे ही आप एक local variable $num
को उस function के बाहर से एक्सेस करने की कोसिस करते है।
PHP बोलता है, अरे भाई आपको $num
एक्सेस करना है पर आपने variable तो बनाया ही नहीं, और एक error दे देता है "Undefined variable: num"
अब आप कहेंगे की आपने तो variable बनाया था, सही है बनाया तो था पर testLocal के लिए जो की एक function है। इसको इस तरह से समझते है आपके बेडरूम में बल्ब लगा है और उसका स्विच उसी बेडरूम में है (रूम को एक function के रूप में देख सकते है) अब अगर आपको बल्ब जलना है तो बेडरूम में जा कर ही जला सकते है बरान्दे से नहीं जला सकते है।
Global Scope
एक variable जो किसी फ़ंक्शन के बाहर बनाया जाता है उसे Global scope के रूप में जाना जाता है, Global variable को केवल एक फ़ंक्शन के बाहर से ही एक्सेस किया जा सकता है।
<?php
$num = 15;
function testGlobal(){}
testGlobal();
echo "Variable num outside function is: $num";
?>
Variable num outside function is: 15
जैसा कि हम जानते हैं कि global scope variable को केवल उस function के बाहर ही एक्सेस किया जा सकता है।
आइए एक बार किसी फ़ंक्शन के अन्दर से global variable को एक्सेस करने का प्रयास करते हैं।
<?php
$num = 15;
function testGlobal(){
echo "Variable num inside function is: $num";
}
testGlobal();
?>
Notice: Undefined variable: num
Variable num inside function is:
ऊपर के उदाहरण में हमने $num
variable का इस्तेमाल किया और दोनो परिस्थिति (किसी function के अन्दर और बाहर) में execute करने की कोसिस की, चुकी यहाँ पर variable एक ग्लोबल स्कोप वेरिएबल है तो वह function के बाहर से ही execute होगा जैसा की example 1 में दिखाया गया है।
The global keyword
जैसा की हम जानते है एक global scope variable को केवल function के बाहर से ही एक्सेस किया जा सकता है।
लेकिन किसी कारण से एक global variable को आप किसी function के अन्दर से इस्तेमाल करना चाहते है, इसके लिए PHP ने आपको छुट दे दिया और बोला आप global variable को एक्सेस कर सकते है, पर इसके लिए आपको (global
) keyword का इस्तेमाल करना होगा variable के आगे।
इसको ऐसे समझते है, आप अपने दोस्तों के साथ क्रिकेट खेल रहे है, खेल के बिच में ही आपका गेंद फट जाता है। वही दर्शक में एक एक लड़का जिसका नाम नरेंदर है (नरेंदर को PHP समझ लीजिए) जिसके पास एक गेंद है (गेंद को variable समझ लीजिए)। अब आप नरेंदर से गेंद मांगते है, नरेंदर कहता है दे दूंगा पर एक शर्त पर, अगर गेंद (variable) चाहिए तो मैं भी खेलूँगा, यहाँ पर "मैं भी खेलूँगा" एक कंडीशन लगा दिया नरेंदर ने, अब आपको अगर गेंद चाहिए तो नरेंदर को भी खेलाना पड़ेगा।
ठीक इसी तरह PHP भी global variable को किसी function के अन्दर से इस्तेमाल करने देता है पर एक शर्त पर, और उस शर्त का नाम है global
जो की एक कीवर्ड है।
<?php
$num = 15;
function testGlobal(){
global $num;
echo "Variable num inside function is: $num";
}
testGlobal();
?>
जयादा जानकारी के लिए PHP के वेबसाइट पर PHP Variable manual देख सकते हैं।