পরিচয়
PHP-এ, রেফারেন্স বিভিন্ন নামে একই পরিবর্তনশীল বিষয়বস্তু অ্যাক্সেস সক্ষম করুন। এগুলি C/C++ এর পয়েন্টারগুলির মতো নয় কারণ সেগুলি ব্যবহার করে গাণিতিক কার্য সম্পাদন করা সম্ভব নয়। C/C++ এ, তারা প্রকৃত মেমরি ঠিকানা। বিপরীতে পিএইচপি-তে, তারা প্রতীক টেবিল উপনাম। পিএইচপি-তে, ভেরিয়েবলের নাম এবং পরিবর্তনশীল বিষয়বস্তু আলাদা, তাই একই সামগ্রীর ভিন্ন নাম থাকতে পারে। & উপসর্গ দিয়ে একটি রেফারেন্স ভেরিয়েবল তৈরি করা হয় মূল পরিবর্তনশীল সাইন করুন. তাই $b=&$a মানে হবে যে $b হল $a এর একটি রেফারেন্স ভেরিয়েবল।
রেফারেন্স দ্বারা বরাদ্দ করুন
নিম্নলিখিত উদাহরণে, দুটি ভেরিয়েবল একই মানকে নির্দেশ করে
উদাহরণ
<?php $var1=10; $var2=&$var1; echo "$var1 $var2\n"; $var2=20; echo "$var1 $var2\n"; ?>
আউটপুট
একটির মান পরিবর্তন অন্যটিতেও প্রতিফলিত হবে
10 10 20 20
আপনি যদি রেফারেন্স দ্বারা একটি অনির্ধারিত ভেরিয়েবল বরাদ্দ করেন, পাস করেন বা ফেরত দেন তবে এটি তৈরি হবে। একটি ফাংশনের ভিতরে গ্লোবাল ঘোষিত একটি ভেরিয়েবলের একটি রেফারেন্স বরাদ্দ করা, রেফারেন্সটি শুধুমাত্র ফাংশনের ভিতরে দৃশ্যমান হবে। যখন একটি ফোরচ স্টেটমেন্টে রেফারেন্স সহ একটি ভেরিয়েবলে একটি মান বরাদ্দ করা হয়, তখন রেফারেন্সগুলিও পরিবর্তিত হয়৷
উদাহরণ
<?php $arr=[1,2,3,4,5]; $i=&$ref; foreach($arr as $i) echo $i*$i, "\n"; echo "ref = ". $ref; ?>
আউটপুট
$ref-এর মান অ্যারেতে থাকা শেষ উপাদানটির
সঞ্চয় করে1 4 9 16 25 ref = 5
নিম্নলিখিত উদাহরণে, অ্যারে উপাদান হল অ্যারে আরম্ভ করার আগে ঘোষিত পৃথক ভেরিয়েবলের উল্লেখ। উপাদান পরিবর্তন করা হলে, পরিবর্তনশীল মানও পরিবর্তিত হয়
উদাহরণ
<?php $a = 10; $b = 20; $c=30; $arr = array(&$a, &$b, &$c); for ($i=0; $i<3; $i++) $arr[$i]++; echo "$a $b $c"; ?>
আউটপুট
$a, $b এবং $c এর মানও বৃদ্ধি পায়
11 21 31