call_user_func_array
调用回调函数,并把一个数组参数作为回调函数的参数
1,第一种用法
public function sd($a,$b,$c){
return "{$a}-----{$b}---{$c}\n";
}
$re = call_user_func_array('sd',['aaa','bbb','sss']);
echo $re;
//结果:aaa-----bbbb---sssss
2,第二种用法
<?php
class dd{
public function sd($a,$b,$c){
return "{$a}-----{$b}---{$c}\n";
}
}
$dd = new dd();
$re = call_user_func_array([$dd,'sd'],['aaa','bbbb','sssss']);
echo $re;
//结果:aaa-----bbbb---sssss
array_walk
使用用户自定义函数对数组中的每个元素做回调处理
function myfunction($value,$key,$p)
{
echo "$key $p $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","has the value");
//a has the value red
//b has the value green
//c has the value blue
method_exists
检查类的方法是否存在
method_exists('对象示例或者类名','方法')
extract()
解析数组的每个键值对,用key生成变量,value作为变量的值
完整说明:https://www.runoob.com/php/func-array-extract.html
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
//$a = Cat; $b = Dog; $c = Horse
compact()
函数创建一个包含变量名和它们的值的数组
$firstname = "Peter";
$lastname = "Griffin";
$age = "41";
$result = compact("firstname", "lastname", "age");
print_r($result);
//Array ( [firstname] => Peter [lastname] => Griffin [age] => 41 )
array_reduce()
用回调函数迭代地将数组简化为单一的值
function func($x,$y){
echo '当前x的值是'.$x."\n";
echo '当前y的值是'.$y."\n";
echo '------------------'."\n";
$y += $x;
return $y;
}
$arr = array(1,2,3,4,5,6);
$return = array_reduce($arr1,"func");
echo $return;
//把上一次调用func方法的返回结果,赋值给本次调用fun时的$x变量,把arr数组的下一个元素,赋值给$y变量
当前x的值是
当前y的值是1
------------------
当前x的值是1
当前y的值是2
------------------
当前x的值是3
当前y的值是3
------------------
当前x的值是6
当前y的值是4
------------------
当前x的值是10
当前y的值是5
------------------
当前x的值是15
当前y的值是6
------------------