PHP कॉलबैक फ़ंक्शंस
कॉलबैक फ़ंक्शन
एक कॉलबैक फ़ंक्शन (जिसे अक्सर "कॉलबैक" कहा जाता है) एक फ़ंक्शन है जिसे किसी अन्य फ़ंक्शन में तर्क के रूप में पारित किया जाता है।
किसी भी मौजूदा फ़ंक्शन को कॉलबैक फ़ंक्शन के रूप में उपयोग किया जा सकता है। किसी फ़ंक्शन को कॉलबैक फ़ंक्शन के रूप में उपयोग करने के लिए, फ़ंक्शन के नाम वाली स्ट्रिंग को किसी अन्य फ़ंक्शन के तर्क के रूप में पास करें:
उदाहरण
array_map()
किसी सरणी में प्रत्येक स्ट्रिंग की लंबाई की गणना करने के लिए PHP के फ़ंक्शन पर कॉलबैक पास करें :
<?php
function my_callback($item) {
return strlen($item);
}
$strings = ["apple", "orange",
"banana", "coconut"];
$lengths =
array_map("my_callback", $strings);
print_r($lengths);
?>
संस्करण 7 से शुरू होकर, PHP अज्ञात कार्यों को कॉलबैक फ़ंक्शन के रूप में पास कर सकता है:
उदाहरण
PHP के फ़ंक्शन के लिए कॉलबैक के रूप में अज्ञात फ़ंक्शन का उपयोग करें array_map()
:
<?php
$strings = ["apple", "orange", "banana", "coconut"];
$lengths =
array_map( function($item) { return strlen($item); } , $strings);
print_r($lengths);
?>
उपयोगकर्ता परिभाषित कार्यों में कॉलबैक
उपयोगकर्ता-परिभाषित फ़ंक्शन और विधियाँ कॉलबैक फ़ंक्शंस को तर्क के रूप में भी ले सकती हैं। उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन या विधि के अंदर कॉलबैक फ़ंक्शन का उपयोग करने के लिए, इसे चर में कोष्ठक जोड़कर कॉल करें और सामान्य कार्यों के साथ तर्कों को पास करें:
उदाहरण
उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन से कॉलबैक चलाएँ:
<?php
function exclaim($str) {
return $str . "! ";
}
function ask($str) {
return $str . "? ";
}
function
printFormatted($str, $format) {
// Calling the $format callback
function
echo $format($str);
}
// Pass "exclaim" and "ask" as callback
functions to printFormatted()
printFormatted("Hello world", "exclaim");
printFormatted("Hello world", "ask");
?>