php函数call_user_func_array

html表单

<form action="up.php" method="post">

字符串:<input type="text" name="str" />

<input type="submit">

</form>

 

up.php处理

<?php

function connect() {

$args = func_get_args();

$s = '';

for($key=0, $len=count($args); $key<$len; ++$key) {

$s .= $args[$key];

}

return $s;

}

$arr = explode(',', $_POST['str']);

echo call_user_func_array('connect', $arr);

 

call_user_func_array("函数名","数组"):返回一个包含函数参数列表的数组

explode('分隔符','数组变量'):以‘,’为分隔符分隔$_POST['str'] 

call_user_func('函数名','$1','$2',..........):把第一个参数作为回调函数调用

Array_map()函数返回数组 = array_map(‘函数’, 数组);

 


注:

call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:  

function demo($b,$c)     {     

    echo $b;     

    echo $c;     

        }     

call_user_func('demo', "111","222");  

   

---------------------

function demo($b, $c)     {     

    echo $b;     

    echo $c;        

        }     

call_user_func_array('demo', array("111", "222"));   

 

---------------------

通过传递匿名函数完成

$_result = array_map(function($a) {return $a*$a;}, $arr);

var_dump($result);



本文转自 sswqzx 51CTO博客,原文链接:http://blog.51cto.com/sswqzx/1962716

上一篇:vscode之gitee码云使用方法


下一篇:fedora10 rar命令安装