পরিচিতি
PHP-তে return স্টেটমেন্টের উদ্দেশ্য হলো প্রোগ্রাম এক্সিকিউশন কন্ট্রোলকে সেটা যেখান থেকে কল করা হয়েছিল সেখানে ফেরত দেওয়া। রিটার্ন হলে, অন্য ফাংশন বা মডিউল আহ্বানকারী এক্সপ্রেশনের পরের এক্সপ্রেশন এক্সিকিউশন শুরু হয়।
যদি return স্টেটমেন্ট একটি ফাংশনের ভেতরে থাকে, তবে কারেন্ট ফাংশনের এক্সিকিউশন টার্মিনেট হয়, কলিং এনভায়রনমেন্টে কন্ট্রোল হস্তান্তরিত হয়। return স্টেটমেন্টে একটি এক্সপ্রেশন ক্লজ অপশনাল হিসেবে থাকতে পারে। সেক্ষেত্রে, কন্ট্রোলের পাশাপাশি এক্সপ্রেশনের মানও রিটার্ন হয়।
যদি ইনক্লুডেড (included) স্ক্রিপ্টে এনকাউন্টার করা যায়, তবে কারেন্ট স্ক্রিপ্টের এক্সিকিউশন তৎক্ষণাৎ শেষ হয় এবং কন্ট্রোল সেটি যেই স্ক্রিপ্টে ইনক্লুড করেছে সেখানে ফিরে যায়। যদি টপ-লেভেল স্ক্রিপ্টে পাওয়া যায়, তবে এক্সিকিউশন তৎক্ষণাৎ শেষ হয়, ওএস-কে কন্ট্রোল ফিরিয়ে দেয়।
ফাংশনে return
নিচের উদাহরণে ফাংশনে return স্টেটমেন্ট দেখানো হয়েছে—
উদাহরণ
<?php
function SayHello(){
echo "Hello World!\n";
}
echo "before calling SayHello() function\n";
SayHello();
echo "after returning from SayHello() function";
?>
আউটপুট
এটি নিচের ফলাফল দেবে—
before calling SayHello() function Hello World! after returning from SayHello() function
মানসহ return
নিচের উদাহরণে, একটি ফাংশন এক্সপ্রেশনসহ রিটার্ন করে—
উদাহরণ
<?php
function square($x){
return $x**2;
}
$num=(int)readline("enter a number: ");
echo "calling function with argument $num\n";
$result=square($num);
echo "function returns square of $num = $result";
?>
আউটপুট
এটি নিচের ফলাফল দেবে—
calling function with argument 0 function returns square of 0 = 0
পরবর্তী উদাহরণে, test.php ইনক্লুড করা হয়েছে যাতে return স্টেটমেন্ট রয়েছে, ফলে কন্ট্রোল কলিং স্ক্রিপ্টে ফিরে আসে।
উদাহরণ
// মেইন স্ক্রিপ্ট <?php echo "inside main script\n"; echo "now calling test.php script\n"; include "test.php"; echo "returns from test.php"; ?> // test.php (ইনক্লুডেড) <?php echo "inside included script\n"; return; echo "this is never executed"; ?>
আউটপুট
মেইন স্ক্রিপ্ট কমান্ড লাইন থেকে রান করলে নিচের ফলাফল—
inside main script now calling test.php script inside included script returns from test.php
ইনক্লুডেড ফাইলে return স্টেটমেন্টের সামনে এক্সপ্রেশন ক্লজও থাকতে পারে। নিচের উদাহরণে, ইনক্লুডেড test.php একটি স্ট্রিং রিটার্ন করে যা মেইন স্ক্রিপ্ট গ্রহণ ও প্রিন্ট করে—
উদাহরণ
// মেইন স্ক্রিপ্ট <?php echo "inside main script\n"; echo "now calling test.php script\n"; $result=include "test.php"; // রিটার্ন ভ্যালু রিসিভ echo $result; echo "returns from test.php"; ?> // test.php (ইনক্লুডেড) <?php $var="from inside included script\n"; return $var; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
inside main script now calling test.php script from inside included script returns from test.php