PHP 回调函数

创建于 2024-12-03 / 29
字体: [默认] [大] [更大]

回调函数

回调函数(通常称为回调("callback") )是作为参数传递给另一个函数的函数。

任何现有函数都可以用作回调函数。要将函数用作回调函数,请传递包含函数名称的字符串作为另一个函数的参数:

实例

将回调传递给 PHP 的 array_map() 函数,以计算数组中每个字符串的长度:

<?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");
?> 亲自试一试 »

0 人点赞过