متغیرات اور مستقل کا استعمال Using Variables and Constants
پروگرامنگ کے سب سے اہم پہلوؤں میں سے ایک کمپیوٹر میموری میں ویلیوز کو ذخیرہ کرنے اور ان ویلیوز کو سنبھالنے کی صلاحیت ہے۔ان ذخیرہ شدہ ویلیوز کو متغیر(variables) کہا جاتا ہے۔متغیرات میں موجود ویلیوز ، یا ڈیٹا کو کیٹگریز میں تقسیم کیا جاتا ہے اور یہ کیٹگریز ڈیٹا کی اقسام کہلاتی ہیں۔اس سیکشن میں، آپ پی ایچ پی کے متغیرات(Variables ) اور ڈیٹا کی اقسام، اور ان پر کیے جانے والے آپریشنز کے بارے میں سیکھو گے۔ایک پروگرام کمپیوٹر میموری میں جو ویلیوز ذخیرہ کرتا ہے انہیں عام طور پر متغیر(Variable) کہا جاتا ہے۔ تکنیکی طور پر، اگرچہ، ایک متغیر دراصل کمپیوٹر کی میموری میں ایک مخصوص مقام ہوتا ہے۔ایک مخصوص متغیر میں ذخیرہ شدہ ڈیٹا اکثر بدل جاتا ہے۔ متغیر ایک اسٹوریج لاکر کی طرح ہوتا ہے. ایک پروگرام اس میں کوئی بھی ویلیوڈال سکتا ہے، اور پھر حساب میں استعمال کرنے کے لیے بعد میں اس ویلیو کو بازیافت بھی کر سکتا ہے۔کسی پروگرام میں متغیر کو استعمال کرنے کے لیے، آپ کو سب سے پہلے ایک بیان(statement ) لکھنا ہوگا جو متغیر کو بناے اور اسے ایک نام دے۔مثال کے طور پر، آپ کے پاس ایک پروگرام ہوسکتا ہے جو موجودہ وقت کو ذخیرہ کرنے کے لیے متغیر بناتا ہے۔ہر بار جب پروگرام چلتا ہے، موجودہ وقت مختلف ہوتا ہے، اس لیے ویلیومختلف ہوتی ہے۔
پروگرامرز اکثر “متغیر کو قدر تفویض کرنے” کے بارے میں بات کرتے ہیں، جو کہ متغیر میں قدر کو ذخیرہ کرنے کے مترادف ہے۔مثال کے طور پر، ایک شاپنگ کارٹ پروگرام میں ایسے متغیرات شامل ہو سکتے ہیں جو موجودہ گاہک کا نام اور کل خریداری کو محفوظ کرتے ہیں۔ہر متغیر مختلف اوقات میں مختلف قدروں پر مشتمل ہوگا، اس کا انحصار گاہک کے نام اور گاہک کی خریدی ہوئی اشیاء پر ہوگا۔
متغیرات کو نام دینا Naming Variables
آپ جو نام متغیر کو تفویض کرتے ہیں اسے شناخت کنندہ(Identifier) کہا جاتا ہے۔ متغیر کو نام دیتے وقت آپ کو درج ذیل قواعد و ضوابط پر عمل کرنا چاہیے:
- شناخت کنندگان کو ڈالر کے نشان ($) سے شروع کرنا چاہیے
- شناخت کنندگان میں بڑے اور چھوٹے حروف، نمبر، یا انڈر سکور (_) شامل ہو سکتے ہیں۔ ڈالر کے نشان کے بعد پہلا لفظ ایک حرف ہونا چاہیے۔
- شناخت کنندگان میں خالی جگہیں نہیں ہوسکتی ہیں۔
- شناخت کنندگان کیس سینسیٹیو(sensitive) ہوتے ہیں۔
پی ایچ پی کوڈ کی دیگر اقسام کے برعکس، متغیر کے نام کیس سینسیٹیو(sensitive) ہوتے ہیں۔لہذا، MyVariable$ نامی متغیر Myvariable، $myVariable$، یا MYVARIABLE$ نام سے بالکل مختلف ہے۔اگر آپ کو اسکرپٹ چلاتے وقت کوئی خرابی موصول ہوتی ہے، تو یقینی بنائیں کہ آپ اپنے کوڈ میں کسی بھی متغیر کا حوالہ دیتے وقت درست کیس استعمال کر رہے ہیں۔
متغیرات سازی اور نام دینا Declaring and Initializing Variables
اس سے پہلے کہ آپ اپنے کوڈ میں متغیر کا استعمال کر سکیں، آپ کو اسے بنانا ہوگا۔ متغیرکے نام کی وضاحت اور تخلیق کے عمل کو متغیر کا بنانا کہا جاتا ہے۔
متغیر کو پہلی ویلیوتفویض کرنے کے عمل کو متغیر کا انیشلائز کہتے ہیں۔کچھ پروگرامنگ زبانیں آپ کو متغیر کو ویلیو دیے بغیر اس کے بنانے کی اجازت دیتی ہیں۔تاہم، پی ایچ پی میں، آپ کو مندرجہ ذیل نحو کا استعمال کرتے ہوئے، اسی بیان میں متغیر کا بنانا اور اسے کوئی ویلیو دینی ہوگی جیسے۔
;variable_name = value$
پچھلے بیان میں مساوی نشان(=) اس متغیر کو ابتدائی ویلیو تفویض کرتا ہے جیسے آپ نے variable_name$ نام کے ساتھ تخلیق کیا تھا۔
ایک متغیر کو تفویض کردہ ویلیو لٹرل سٹرنگ، نومیرک ویلیو یا بولین ویلیو ہو سکتی ہے.مثال کے طور پر، درج ذیل بیان لٹرل سٹرنگ(literal string) “Don” متغیر(variable) MyName$ کو تفویض کرتا ہے:جیسے.
;”MyName = “Don$
جب آپ کسی متغیر کو لفظی سٹرنگ ویلیو تفویض کرتے ہیں، تو آپ کو متن کو سنگل یا ڈبل کوٹیشن مارکس میں بند کرنا چاہیے، جیسا کہ پچھلے بیان میں دکھایا گیا ہے۔تاہم، جب آپ کسی متغیر(variable) کو عددی یا بولین ویلیو تفویض کرتے ہیں، تو ویلیو کو کوٹیشن مارکس میں بند نہ کریں ورنہ پی ایچ پی اس ویلیو کو نمبر کے بجائے سٹرنگ کے طور پر ٹریٹ کرے گی۔درج ذیل بیان متغیر RetirementAge$ کو عددی ویلیو 59 تفویض کرتا ہےجیسے 59=RetirementAge$
متغیر کو لٹرل سٹرنگ، نومیرک ویلیوز اور بولین ویلیوز کو تفویض کرنے کے علاوہ، آپ ایک متغیر کی ویلیو دوسرے متغیر کو تفویض کر سکتے ہیں۔مثال کے طور پر، درج ذیل کوڈ میں، پہلی اسٹیٹمنٹ SalesTotal$ نامی ایک متغیر بناتی ہے اور اسے 0 کی ابتدائی ویلیو تفویض کرتی ہے۔دوسرا اسٹیٹمنٹ CurOrder$ نامی ایک اور متغیر بناتی ہے اور اسے 40 کی نیومیرک ویلیو تفویض کرتی ہے۔تیسری اسٹیٹمنٹ پھر CurOrder$ متغیر کی (40) ویلیو کو SalesTotal$ متغیر کو تفویض کرتی ہے۔
نوٹ: یاد رکھیں کہ پی ایچ پی میں ایک متغیر کواسی وقت ویلیو دینے کی ضرورت ہے جب آپ پہلی بار اسے بناتے ہیں۔
متغیرات کی نمائش Displaying Variables
ایکو سٹیٹمنٹ کے ساتھ متغیر کو ظاہر کرنے کے لیے، آپ صرف متغیر کا نام echo سٹیٹمنٹ میں منتقل کرتے ہیں، لیکن اسے کوٹیشن مارکس میں بند کیے بغیر، درج ذیل:
اگر آپ ایک ہی سٹیٹمنٹ میں ٹیکسٹ سٹرنگز اور متغیرات کو شامل کرنا چاہتے ہیں، تو آپ انہیں کوما سے الگ کر کے انفرادی دلائل کے طور پر ایکو سٹیٹمنٹ میں شامل کر سکتے ہیں۔مثال کے طور پر، درج ذیل کوڈ متن کو دکھاتا ہے۔نوٹ کریں کہ متن اور ایلیمنٹس کوٹیشن مارکس کے اندر موجود ہیں، لیکن VotingAge$ متغیر کوٹیشن مارکس کے اندر نہیں ہے۔
فائنل نتیجہ کچھ اس طرح ہوگا:
آپ ٹیکسٹ سٹرنگ کے اندر متغیر کا نام بھی شامل کر سکتے ہیں، حالانکہ آپ جو نتائج اسکرین پر دیکھتے ہیں اس کا انحصار اس بات پر ہوتا ہے کہ آیا آپ ٹیکسٹ اسٹرنگ کے ارد گرد دوہری یا سنگل کوٹیشن مارکس استعمال کرتے ہیں جس میں متغیر کا نام شامل ہے۔اگر آپ ڈبل کوٹیشن مارکس استعمال کرتے ہیں تو متغیر کو تفویض کردہ ویلیوظاہر ہوگی۔مثال کے طور پر، مندرجہ ذیل سٹیٹمنٹ وہی آؤٹ پٹ دکھاتی ہے جو اوپر کی مثال میں دکھائی گئی ہے۔
اس کے برعکس، اگر آپ سنگل کوٹیشن مارکس والی ایک ٹیکسٹ سٹرنگ میں ایک متغیر کا نام استعمال کرتے ہیں تو متغیر کا نام ظاہر ہوگا نہ کہ ویلیو۔
فائنل رزلٹ یوں دکھائی دے گا.
متغیرات میں ترمیم کرنا Modifying Variables
آپ اسکرپٹ میں کسی بھی مقام پر متغیر کی ویلیومیں ترمیم کر سکتے ہیں۔ درج ذیل کوڈ SalesTotal$ نامی ایک متغیر بناتا ہے، اسے 40 کی ابتدائی ویلیوتفویض کرتا ہے، اور ایکو اسٹیٹمنٹ کی مدد اس ویلیو کو دکھاتی ہے۔ تیسری سٹیٹمنٹ SalesTotal$ متغیر کی ویلیو کو تبدیل کرتی ہے اور چوتھی سٹیٹمنٹ نئی ویلیو دکھاتی ہے۔
ویب براؤزر ویو
پروگرامرز کے درمیان یہ ایک پرانی روایت ہے کہ ایک اسکرپٹ لکھ کر ایک نئی زبان پر مشق کی جائے جو “Hello World!” متن کو پرنٹ یا ڈسپلے کرتی ہے.اگر آپ ایک تجربہ کار پروگرامر ہیں، تو آپ نے بلاشبہ ماضی میں “Hello World” پروگرامز بنائے ہیں۔اگر آپ پروگرامنگ میں نئے ہیں، تو آپ شاید پروگرامنگ زبانیں سیکھتے ہی “ہیلو ورلڈ” پروگرام بنائیں گے۔اگلا، آپ پی ایچ پی میں اپنا “ہیلو ورلڈ” پروگرام بنائیں گے۔ آپ ایک سادہ اسکرپٹ بنائیں گے جو “ہیلو ورلڈ!” کا متن دکھاتا ہے، سورج اور چاند کو “ہیلو” کہتا ہے، اور ہر آسمانی جسم کے بارے میں سائنسی معلومات کی ایک لائن دکھاتا ہے۔آپ معلومات کے ہر ٹکڑے کو ذخیرہ کرنے اور ظاہر کرنے کے لیے متغیرات کا استعمال کریں گے۔
“ہیلو ورلڈ” پروگرام کیسے بنایا جائے:
- اپنے ٹیکسٹ ایڈیٹر میں ایک نئی دستاویز بنائیں
- اگر آپ وی.ایس کوڈ استعمال کر رہے ہیں تو HTML:5 ٹائپ کریں.یہ ایک HTML ٹیمپلیٹ تخلیق کر دے گا.
- پی ایچ پی کوڈ بلاک میں، ہر آسمانی جسم کے ناموں پر مشتمل متغیرات بنانے کے لیے درج ذیل بیانات ٹائپ کریں، ساتھ ہی ہر ایک آسمانی جسم کے بارے میں سائنسی معلومات پر مشتمل متغیرات بھی بنائیں جیسے:
- اسکرپٹ سیکشن کے آخر میں درج ذیل بیانات شامل کریں تاکہ ہر ایک متغیر میں ذخیرہ شدہ اقدار کو ظاہر کیا جا سکے جنہیں آپ نے پچھلے مرحلے میں بنا کر ابتدائی ویلیوز دی تھیں:
- دستاویز کو باب 1 کی باب ڈائرکٹری میں HelloWorld.php کے طورپر محفوظ کریں۔ اور اپ لوڈ کرنے کے بعد، اپنے ویب براؤزر میں کھولیں۔
- فائنل رزلٹ درجہ بالا کی طرح نظر آنا چاہیے.
- اپنی ویب براؤزر ونڈو کو بند کریں۔
کنسٹینٹس بنانا Defining Constants
ایک مستقل میں وہ معلومات ہوتی ہیں جو پروگرام کے چلنے کے دوران تبدیل نہیں ہوتی ہیں۔ایک کنسٹینٹ ایسا متغیر ہوتا ہے جس کی ویلیو مستقل رہتی ہے.مستقل کی ایک عام مثال پائی (π) کی ویلیوہے، جو دائرے کے فریم کی تناسب اس کے قطر کے مطابق ظاہر کرتی ہے۔پائی کی مستقل ویلیو 3.141592 ہے جو کبھی نہیں بدلتی ہے.
متغیر ناموں کے برعکس، مستقل نام ڈالر کے نشان ($) سے شروع نہیں ہوتے ہیں۔ اس کے علاوہ، مستقل ناموں کے لیے تمام بڑے حروف کا استعمال عام ہے۔جب آپ ایک مستقل بناتے اور اے کوئی ویلیو دیتے ہیں، تو آپ اسے ایک متغیر کی طرح نہیں بناتے ہیں.اس کے بجائے، آپ مستقل بنانے کے لیے ()define فنکشن استعمال کرتے ہیں۔ ()define فنکشن کا سنٹیکس درج ذیل ہے:
define(“CONSTANT_NAME”, value)
آپ جو ویلیو ()define فنکشن کو دیتے ہیں وہ ٹیکسٹ سٹرنگ، نمبر، یا بولین ویلیو ہو سکتی ہے۔مندرجہ ذیل مثال میں، ()define فنکشن میں پہلا آرگیومنٹ کانسٹنٹ کا نام ہوتا ہے جبکہ دوسرا آرگیومنٹ کانسٹنٹ کی ویلیو ہوتی ہے.
بطور ڈیفالٹ، مستقل نام میں کیس کی حساسیت(sensitive) ہوتی ہے، جیسا کہ متغیرات ہیں۔ تاہم، آپ ()define فنکشن کو تیسرا آرگیومنٹTRUE بطور بولین ویلیو کے پاس کر کے مستقل ناموں کے معاملے کیس کو غیر حساسیت(insensitive) میں تبدیل کر سکتے ہیں، جیسا کہ:
پچھلے بیان کے ساتھ، آپ کسی بھی حرف کے کیس کا استعمال کرتے ہوئے DEFAULT_LANGUAGE مستقل کا حوالہ دے سکتے ہیں، بشمول default_language یا Default_Language۔تاہم، معیاری پروگرامنگ کنونشن یہ ہے کہ مستقل ناموں کے لیے تمام بڑے حروف استعمال کیے جائیں،لہذا آپ کو اپنے مستقل ناموں کو کیس کی غیر حساسیت(insensitive) بنانے سے گریز کرنا چاہئے۔جب آپ کوڈ میں کسی مستقل کا حوالہ دیتے ہیں، تو یاد رکھیں کہ ڈالر کا نشان شامل نہ کریں، جیسا کہ آپ متغیر ناموں کے ساتھ کرتے تھے۔آپ ایکو اسٹیٹمنٹ کو ایک مستقل نام اسی طرح پاس کرسکتے ہیں جس طرح آپ متغیر نام (لیکن ڈالر کے نشان کے بغیر) پاس کرتے ہیں، اس طرح:
پچھلا بیان متن دکھاتا ہے “قانونی ووٹنگ کی عمر 18 سال ہے۔” ویب براؤزر میں۔ متغیرات کے برعکس، آپ ان کوٹیشن مارکس کے اندر مستقل نام شامل نہیں کر سکتے جو ٹیکسٹ سٹرنگ کے ارد گرد ہوتے ہیں۔اگر آپ ایسا کرتے ہیں تو، پی ایچ پی مستقل نام کو عام متن کی طرح سمجھتا ہے جو اسٹرنگ کا حصہ ہے۔مثال کے طور پر، مندرجہ ذیل بیان پر غور کریں، جس میں مستقل نام اس ٹیکسٹ سٹرنگ میں شامل ہے جو ڈبل کوٹیشن مارکس کے اندر ہے :جیسے
مستقل (18) کی ویلیو ظاہر کرنے کے بجائے، پچھلا بیان ویب براؤزر میں “قانونی ووٹنگ کی عمر VOTING_AGE ہے” دکھاتا ہے۔
HelloWorld.php اسکرپٹ میں WorldInfo، $SunInfo$، اور MoonInfo$ متغیر کو مستقل کے ساتھ تبدیل کرنے کے لیے:
- اپنے ٹیکسٹ ایڈیٹر میں HelloWorld.php دستاویز کو کھولیں۔
- $WorldInfo، $SunInfo، اور MoonInfo$ متغیر بناوٹ کو درج ذیل مستقل کے ساتھ تبدیل کریں:
- ایکو سٹیٹمنٹس میں WorldInfo، $SunInfo$، اور MoonInfo$ متغیر حوالہ جات کو نئے کانسٹنٹ کے ساتھ بدل دیں۔ ترمیم شدہ ایکو سٹیٹمنٹس مندرجہ ذیل ہونی چاہئیں:
- HelloWorld.php دستاویز کو محفوظ اور اپ لوڈ کریں اور پھر اپنے ویب سرور سے فائل کو اپنے ویب براؤزر میں کھولیں۔
- ویب پیج ویسا ہی نظر آنا چاہیے جیسا کہ اس سے پہلے جب آپ نے کانسٹنٹ بناوٹوں کو شامل نہیں کیا تھا۔
- اپنی ویب براؤزر ونڈو کو بند کر دیں.
مختصر سوال
- پی ایچ پی اسکرپٹ میں استعمال کرنےکے لیے متغیر کی دستیابی کے دو مراحلی عمل کی وضاحت کریں۔
- ایکو یا پرنٹ اسٹیٹمنٹس کا استعمال کرتے ہوئے پی ایچ پی اسکرپٹ میں متغیر یا متغیرات کو ظاہر کرنے کے لیےسنٹیکس کی وضاحت کریں۔
- آپ مستقل نام کو غیر حساسیت میں کیسے تبدیل کرتے ہیں؟