এই নিবন্ধে, আমরা পিএইচপি-তে মান এবং পাস বাই রেফারেন্স সম্পর্কে শিখব।
এখন, আসুন এই দুটি ধারণা বিস্তারিতভাবে বুঝি।
পিএইচপি-তে সাধারণত, আমরা ফাংশনে আর্গুমেন্টগুলি পাস করার জন্য মান পদ্ধতির মাধ্যমে পাস করি। আমরা এই অনুশীলনটি অনুসরণ করছি কারণ যদি ফাংশনের মধ্যে আর্গুমেন্টের মান পরিবর্তন করা হয় তবে এটি ফাংশনের বাইরে পরিবর্তিত হয় না।
কিছু ক্ষেত্রে আমাদের ফাংশন আর্গুমেন্ট পরিবর্তন করতে হতে পারে, তাই একটি ফাংশনকে তার আর্গুমেন্ট পরিবর্তন করার অনুমতি দিতে, সেগুলি অবশ্যই রেফারেন্স দ্বারা পাস করতে হবে৷
এর রেফারেন্স দ্বারা পাস দিয়ে শুরু করা যাক. যেহেতু এটি ইতিমধ্যেই উল্লেখ করা হয়েছে আমরা একটি ফাংশনের রেফারেন্স দ্বারা একটি ভেরিয়েবল পাস করতে পারি যাতে ফাংশনটি পরিবর্তনশীলটিকে পরিবর্তন করতে পারে। রেফারেন্স দ্বারা পাস করা পরামিতিগুলি পাস করার প্রক্রিয়া শুরু করতে, ফাংশনের সংজ্ঞায় আর্গুমেন্ট নামের আগে একটি অ্যাম্পারস্যান্ড (&) যুক্ত করুন৷
উদাহরণ
একটি সাধারণ উদাহরণ দিয়ে এটি পরীক্ষা করা যাক।
<?php function calculate(&$a){ $a++; } $a=5; calculate($a); echo $a; ?>
আউটপুট
6
ব্যাখ্যা
এখানে আমরা $a ভেরিয়েবল ঘোষণা করেছি এবং এটিকে calculate() ফাংশনের রেফারেন্স দ্বারা পাস হিসাবে পাস করছি। সুতরাং নীতি অনুসারে যদি $a-এর মান ফাংশনের ভিতরে পরিবর্তিত হয় তবে এটি ফাংশনের বাইরেও পরিবর্তিত হবে।
দ্রষ্টব্য
একটি ফাংশন কলে কোন রেফারেন্স চিহ্ন নেই - শুধুমাত্র ফাংশন সংজ্ঞায়। শুধুমাত্র ফাংশন সংজ্ঞা সঠিকভাবে রেফারেন্স দ্বারা যুক্তি পাস করার জন্য যথেষ্ট. আপনি যখন গণনা করতে ব্যবহার করেন (&$a); এটি একটি ত্রুটি নিক্ষেপ করে৷
উদাহরণ
মান বোঝার জন্য আসুন একটি উদাহরণ পরীক্ষা করি।
<?php function calculate($a){ $a++; echo $a."<br/>"; } $a=5; calculate($a); echo $a; ?>
আউটপুট
6 5
ব্যাখ্যা
এখানে আমরা calculate() ফাংশনে মানটি পাস বাই ভ্যালু হিসাবে পাস করেছি। এর মান ফাংশনের ভিতরে পরিবর্তিত হয় তবে এটি ফাংশনের বাইরে প্রতিফলিত হয় না। ভেরিয়েবলের মান ফাংশনের বাইরে একই থাকে।