পরিচয়
PHP এ, একটি রেফারেন্স ফেরত দেওয়ার জন্য একটি ফাংশনও তৈরি করা যেতে পারে। একটি রেফারেন্স আবদ্ধ করা উচিত কোন পরিবর্তনশীল খুঁজে পেতে এটি দরকারী। একটি ফাংশন সংজ্ঞায়িত করতে যা রেফারেন্স প্রদান করে, তার নাম & দ্বারা উপসর্গ করুন চিহ্ন।
উদাহরণ
নিম্নলিখিত উদাহরণে, myfunction() রেফারেন্স দ্বারা ফিরে সংজ্ঞায়িত করা হয়। এটিতে একটি স্ট্যাটিক ভেরিয়েবল রয়েছে যার রেফারেন্স ফেরত দেওয়া হয় এবং একটি গ্লোবাল ভেরিয়েবলকে বরাদ্দ করা হয়। স্থানীয় স্ট্যাটিক ভেরিয়েবলের মানও পরিবর্তিত হবে এর রেফারেন্স ouside ভিন্ন মানের সাথে বরাদ্দ করা হয়েছে।
উদাহরণ
<?php function &myfunction(){ static $x=10; echo "x Inside function: ",$x,"\n"; return $x; } $a=&myfunction(); //contains reference to 4x in function echo "returned by reference: ", $a, "\n"; $a=$a+10; //increments variable inside function too $a=&myfunction(); ?>
আউটপুট
এই উদাহরণটি নিম্নলিখিত আউটপুট দেয়
x Inside function: 10 returned by reference: 10 x Inside function: 20
পদ্ধতি ফেরত রেফারেন্স
একটি ক্লাসেরও একটি পদ্ধতি থাকতে পারে যা রেফারেন্স ফেরত দিতে সক্ষম। এটি ক্লাসের বাইরে থেকে প্রাইভেট ইনস্ট্যান্স ভেরিয়েবলের চেঞ্জিং মান সক্ষম করে
উদাহরণ
<?php class myclass{ private $val; function __construct($x){ $this->val=$x; } function &getbyref(){ return $this->val; } function getbyval(){ return $this->val; } } $a=new myclass(10); $b=&$a->getbyref(); $b=100; echo "Value of private property: ", $a->getbyval(); ?>
আউটপুট
উপরের স্ক্রিপ্টের ফলাফল নিম্নরূপ
Value of private property: 100