回调函数:某个函数通过利用指针来重复调用某个函数。被调用的函数成为回调函数。
array_map( [函数名字], [数组] ) //通过函数名字调用函数,比如传入phpinfo,则执行phpinfo()函数。
例:
<?php
function aaa($a){
return $a*$a;
}
$evil_callback=$GET['callback'];
$some_array=array(1,2,3,4);
$new_array=array_map($evil_callback, $some_array);
print_r($new_array);
?>
访问:http://127.0.0.1/bai.php?callback=aaa
输出结果:
Array( [0] => 1 [1] => 4 [2] => 9 [3] => 16)
总结:
1、这段代码用到了array_map()函数,这个函数是通过利用指针来重复调用某个函数。被调用的函数成为回调函数。
2、array_map()的第一个参数为函数的名字,且这个被调用的函数需要传参的个数为一个(目前没发现能利用指针调用需要传送参数为两个的函数)。
3、array_map()函数的第二个参数为一个array数组。运行时,把第二个参数数组中的每个元素都调用一下第一个被利用指针调用函数。
网友评论