ভ্যারিয়েবল হলো তথ্য জমা রাখার পাত্র(container)।
আপনি যদি পিএইচপিতে তথ্য নিয়ে কাজ করতে চান তাহলে তথ্য/তথ্যসমূহকে অবশ্যই প্রথমে ভ্যারিয়েবলের মধ্যে জমা রাখতে হবে।
পিএইচপিতে ভ্যারিয়েবল লেখার জন্য প্রথমে $ চিহ্ন এবং এর সাথেই ডান পাশে ভ্যারিয়েবল এর নাম লিখতে হয়।
kt_satt_skill_example_id=11
উপররের উদাহরণটি সম্পাদিত হওয়ার পরে $academyName এবং $postCode ভ্যারিয়েবল এর মধ্যে যথাক্রমে স্যাট একাডেমী এবং ৬২১১ জমা হয়।
- পরামর্শঃ ভ্যারিয়েবল এর মধ্যে টেক্সট ভ্যালু জমা রাখার জন্য কোটেশন মার্ক(" ") ব্যবহার করুন।
- বিঃদ্রঃ অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন- সি, সি++, জাভা ইত্যাদির ন্যায় পিএইচপিতে ভ্যারিয়েবল ঘোষণা করার জন্য অতিরিক্ত কোনো কমান্ড ব্যবহার করতে হয় না। পিএইচপি ভ্যারিয়েবলে যখনই কোনো ভ্যালু এসাইন করে দেন তখনি এটি তৈরি হয়ে যায়।
শুধুমাত্র এটুকু বুঝলেই হবে যে, ভ্যারিয়েবল হলো তথ্য জমা রাখার পাত্র।
ভ্যারিয়েবলের নাম সংক্ষিপ্ত(যেমন- x এবং y) অথবা বর্ননামূলক(যেমন- age, color, first_name ইত্যাদি) হতে পারে।
পিএইচপি ভ্যারিয়েবল ডিক্লেয়ারেশন এর নিয়মঃ
সবসময়ই মাথায় রাখবেন যে, পিএইচপি ভ্যারিয়েবল হচ্ছে কেস সেনসিটিভ!
ব্রাউজার/কনসোলে পিএইচপি ভ্যারিয়েবলের আউটপুট নেওয়ার জন্য প্রায়ই echo স্টেটমেন্ট ব্যবহার করা হয়।
ভ্যারিয়েবলের আউটপুট কিভাবে নিতে হয় নিচের উদাহরণে দেখানো হলোঃ
kt_satt_skill_example_id=13
নিচের উদাহরণের মাধ্যমে ২টি ভ্যারিয়েবলের যোগফল নির্ণয় করে দেখানো হলোঃ
kt_satt_skill_example_id=14
বিঃদ্রঃ echo স্টেটমেন্ট সম্মন্ধে পরবর্তী অধ্যায়ে আরও আলোচনা করা হয়েছে।
উপরের উদাহরণ সমূহে লক্ষ্য করলে দেখবেন যে, সেখানে ভ্যারিয়েবলের কোনো ডেটা টাইপ নাই।
ভ্যালুর উপর ভিত্তিকরে পিএইচপি ভ্যারিয়েবল স্বয়ংক্রিয়ভাবেই সঠিক ডেটা টাইপে রূপান্তরিত(convert) হয়।
কিন্তু অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন- সি, সি++, জাভা ইত্যাদির ক্ষেত্রে ভ্যারিয়েবলের নামের পূর্বে অবশ্যই ডেটা টাইপ নির্ধারণ করে দিতে হয়।
পিএইচপিতে স্ক্রিপ্টের যেকোনো জায়গায় ভ্যারিয়েবল ঘোষণা(Declare) করা যায়।
ভ্যারিয়েবলের স্কোপ হলো স্ক্রিপ্টের অংশ, যেখানে ভ্যারিয়েবল কে রেফার করা হয়ঃ
ফাংশনের ভেতরে ভ্যারিয়েবল ঘোষণা করলে তাদের স্কোপ LOCAL থাকে এবং এটি শুধুমাত্র ফাংশনের ভেতর থেকেই এক্সেস এবং ব্যবহার করা যায়ঃ
kt_satt_skill_example_id=15
ফাংশনের বাহিরে ভ্যারিয়েবল ঘোষণা করলে তাদের স্কোপ GLOBAL থাকে এবং এটি শুধুমাত্র ফাংশনের বাহির থেকেই এক্সেস এবং ব্যবহার করা যায়ঃ
kt_satt_skill_example_id=16
আপনি ইচ্ছা করলে একই ভ্যারিয়েবলের নাম ভিন্ন ভিন্ন ফাংশনে ব্যবহার করতে পারবেন। কারণ, ফাংশনের মধ্যে ঘোষিত ভ্যারিয়েবলের স্কোপ লোকাল হওয়ায় শুধুমাত্র সংশ্লিষ্ট ফাংশনই ঐ ভ্যারিয়েবল কে মনে রাখে।
অর্থাৎ ফাংশন এক্সিকিউশন হলেই এদের লাইফ টাইম শেষ হয়ে যায়।
গ্লোবাল ভ্যারিয়েবলকে ফাংশনের মধ্য থেকে এক্সেস করতে হলে global কিওয়ার্ড ব্যবহার করতে হয়।
এটি করার জন্য নিচের উদাহরণের মত ফাংশনের মধ্যে ভ্যারিয়েবলের নামের পূর্বে global কিওয়ার্ড ব্যবহার করুনঃ
kt_satt_skill_example_id=17
পিএইচপি সকল গ্লোবাল ভ্যারিয়েবলকে $GLOBALS[index] নামের একটি এসোসিয়েটিভ অ্যারে এর মধ্যে জমা রাখে। এখানে index হচ্ছে ভ্যারিয়েবলের নাম। এছাড়া এই অ্যারেকে ফাংশনের মধ্য থেকে এক্সেস করা যায় এবং এটি ব্যবহার করে গ্লোবাল ভ্যারিয়েবলকে সরাসরি আপডেটও করা যায়।
উপরের উদাহরণটি নিচের মত করেও লিখা যায়।
kt_satt_skill_example_id=18
সাধারণত কোনো ফাংশন সম্পন্ন হওয়ার সাথে সাথেই ফাংশনের মধ্যে ব্যবহৃত সমস্ত ভ্যারিয়েবল মুছে যায়।
আপনি যদি এমনটা চান যে, ফাংশন সম্পন্ন হওয়ার পরেও ভ্যারিয়েবল মুছে যাবে না, এক্ষেত্রে ভ্যারিয়েবল ঘোষণা করার সময় ভ্যারিয়েবলের নামের পূর্বে static কিওয়ার্ড ব্যবহার করুনঃ
kt_satt_skill_example_id=19
এখন ফাংশনকে যতবার কল করবেন, ভ্যারিয়েবলের ভ্যালুও ততবার পরিবর্তন হবে এবং শেষ বার কল করলে যে ভ্যালু পাওয়া যাবে সেটাই হবে ভ্যারিয়েবলের ভ্যালু।
নোটঃ উপরের উদাহরণে ব্যবহৃত ভ্যারিয়েবল $number এর স্কোপ ফাংশনের মধ্যে এখনো লোকাল।