পরিচয়
বেনামী ফাংশন হল একটি ফাংশন যা ব্যবহারকারীর সংজ্ঞায়িত নাম ছাড়াই। এই ধরনের ফাংশনকে ক্লোজারও বলা হয় অথবা lambda ফাংশন কখনও কখনও, আপনি একবার ব্যবহারের জন্য একটি ফাংশন চাইতে পারেন। ক্লোজার একটি বেনামী ফাংশন যা পরিবেশের উপর বন্ধ হয়ে যায় যেখানে এটি সংজ্ঞায়িত করা হয়। আপনাকে এটিতে ইউজ কীওয়ার্ড নির্দিষ্ট করতে হবে৷ একটি ইনলাইন কলব্যাক ফাংশন তৈরি করতে বেনামী ফাংশনের সবচেয়ে সাধারণ ব্যবহার৷
সিনট্যাক্স
$var=function ($arg1, $arg2) { return $val; };
- ফাংশন কীওয়ার্ড এবং ওপেনিং বন্ধনীর মধ্যে কোনো ফাংশনের নাম নেই।
- ফাংশনের সংজ্ঞার পরে একটি সেমিকোলন আছে কারণ বেনামী ফাংশন সংজ্ঞা হল এক্সপ্রেশন
- ফাংশনটি একটি ভেরিয়েবলকে বরাদ্দ করা হয়, এবং ভেরিয়েবলের নাম ব্যবহার করে পরে ডাকা হয়৷
- যখন অন্য একটি ফাংশনে পাস করা হয় যা পরে কল করতে পারে, তখন এটি একটি কলব্যাক হিসাবে পরিচিত।
- এটিকে একটি বাইরের ফাংশনের মধ্যে থেকে ফিরিয়ে দিন যাতে এটি বাইরের ফাংশনের ভেরিয়েবলগুলি অ্যাক্সেস করতে পারে। এটি একটি বন্ধ হিসাবে পরিচিত।
বেনামী ফাংশন উদাহরণ
উদাহরণ
<?php $var = function ($x) {return pow($x,3);}; echo "cube of 3 = " . $var(3); ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে। −
cube of 3 = 27
কলব্যাক হিসাবে বেনামী ফাংশন
নিম্নলিখিত উদাহরণে, একটি বেনামী ফাংশন একটি অন্তর্নির্মিত usort() ফাংশনের জন্য যুক্তি হিসাবে ব্যবহৃত হয়। usort() ফাংশন একটি তুলনা ফাংশন ব্যবহার করে একটি প্রদত্ত অ্যারে সাজায়
উদাহরণ
<?php $arr = [10,3,70,21,54]; usort ($arr, function ($x , $y) { return $x > $y; }); foreach ($arr as $x){ echo $x . "\n"; } ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে। −
3 10 21 54 70
বন্ধ হিসাবে বেনামী ফাংশন
ক্লোজারও একটি বেনামী ফাংশন যা ব্যবহার কীওয়ার্ডের সাহায্যে এর সুযোগের বাইরে ভেরিয়েবল অ্যাক্সেস করতে পারে
উদাহরণ
<?php $maxmarks=300; $percent=function ($marks) use ($maxmarks) {return $marks*100/$maxmarks;}; echo "marks=285 percentage=". $percent(285); ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে। −
marks=285 percentage=95