【发布时间】:2012-07-21 08:57:22
【问题描述】:
我正在学习PHP,我正在尝试了解回调函数,我真的看了手册,在stackoverflow和更多网站上,我真的不明白什么是PHP回调函数,如果有人能帮我了解一下这个功能吗,我正在寻找简单的解释/指南谢谢大家,祝你有美好的一天。
【问题讨论】:
-
你不明白的到底是什么?哪部分不清楚?
我正在学习PHP,我正在尝试了解回调函数,我真的看了手册,在stackoverflow和更多网站上,我真的不明白什么是PHP回调函数,如果有人能帮我了解一下这个功能吗,我正在寻找简单的解释/指南谢谢大家,祝你有美好的一天。
【问题讨论】:
在计算机编程中,回调是对作为参数传递给其他代码的一段可执行代码的引用。这允许较低级别的软件层调用在较高级别层中定义的子例程(或函数)。
这是您传递给您的方法或其他函数的函数,因此可以稍后在该方法(函数执行)期间调用它。
例如,您有回调beforeSave,并且您希望在将数据保存到数据库文件等之前执行一些逻辑。(在一个地方 - DRY)。您将逻辑添加到 beforeSave 回调中,并在保存数据之前调用此回调。
手册上的函数也是如此,例如 array_filter($input, callback) 它要求您传递一些函数以使用 $input 数据执行。
例如。传递匿名函数:
array_filter($input, function($var) {
// returns whether the input integer is odd
return($var & 1)
});
将返回所有奇数数组值,您可以将匿名函数中的逻辑更改为您想要的,但array_filter 内部机制将始终相同(迭代器算法)
【讨论】: