记一些非常好用的函数

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
------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值