وظائف رد الاتصال 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 تمرير وظائف مجهولة كوظائف رد الاتصال:
مثال
استخدم وظيفة مجهولة بمثابة رد اتصال array_map()
لوظيفة PHP:
<?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");
?>