php callback函数

本文详细介绍了PHP中如何使用自定义函数以及系统回调函数,并通过实例展示了如何应用回调函数进行数组处理,包括数组映射、遍历及过滤等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//自定义函数
function study($username){
    echo $username. ' is study...<br/>';
}
function play($username){
    echo $username .' is playing...<br/>';
}
//自定义调用
function doWhat($funcName,$param){
    $funcName($param);
}
doWhat('study','king');
doWhat('play','lisi');

//系统调用函数//call_user_func — 把第一个参数作为回调函数调用
//mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
echo '<br/>';
call_user_func('study','liuzhao');
call_user_func('play','王五');
echo 'liuzhao md5加密:'.call_user_func('md5','liuzhao');
echo '<br/>';

//callback 加减
function add($x,$y){
    return $x+$y;
}
function reduce($x,$y){
    return $x-$y;
}
function calc($funcName,$x,$y){
    return $funcName($x,$y);
}
echo '<hr/>';
echo calc('add',1,2);
echo '<br />';
echo calc('reduce',1,2);

//callback 运用 array_map将回调函数作用到给定数组的单元上
echo '<hr />';
$arr=array(1,2,3,4,5);
function test1($var){
    return $var*2;
}
$result=array_map('test1',$arr);
print_r($arr);
echo '<br />';
print_r($result);
//array_walk — 使用用户自定义函数对数组中的每个元素做回调处理

//bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

$arr1=array(1,2,3,4,5);
//引用传参,*=
function test2(&$var){
    $var*=3;
}
echo '<hr/>';
array_walk($arr1,'test2');
print_r($arr1);

//array_filter — 用回调函数过滤数组中的单元
//array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
//过滤奇数
echo '<hr />';
$arr2=array(1,2,3,4,5);

function odd($var){
    if($var%2==0){
        return $var;
    }
}
$res=array_filter($arr2,'odd');
var_dump($res);

转载于:https://www.cnblogs.com/liu-zhao/p/6805537.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值