分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

PHP中代理函数调用的小案例

发布时间:2023-09-06 01:31责任编辑:林大明关键词:PHP

简单写一个小例子就明白了

例:在文本框内输入字符串并用逗号隔开,然后点击提交会自动消除逗号拼接在一起。

像这样

点击提交过去返回12345

这个小例子就用到代理函数调用,先说一下这个函数名 call_user_func_array();

call_user_func_array(‘要调用的函数名’,’调用的值’);

先写提交表单:

 
<form method=post action=”test.php”>
输入一个字符串,用逗号隔开: <input type=”text” name=”str”><br />
<input type=”submit” name=”button” value=”提交”>
</form>
 

再写接受验证的代码:

<?php
 
function content(){
    $sum=func_get_args();
if(empty($sum)){
    echo ‘请输入内容!’;
    return;
}
$num=”;
for($i=0;$i<count($sum);$i++){
   $num.=$sum[$i];
}
echo $num;
}
 
if(isset($_POST[‘button’])){
    $str=$_POST[‘str’];
    $array=explode(‘,’,$str);
    call_user_func_array(‘content’,$array);
 
}
解释:
1. 先判断提交过来的内容,然后以’,’ 将字符串分割成一个数组($array)
2. 定义一个函数,获取传来的值并打散分成一个数组($sum),如果没有传内容就返回‘请输入内容’,然后进行一个循环,将$sum数组中的几个值打印出来并用‘.’链接
3. 因为函数是不能跨变量域调用的(就这么说吧,反正就这么理解吧,,这样说好理解,别打我QAQ),所以要用到代理函数调用(call_user_func_args())
4. 使用 call_user_func_array(‘content’,$array);  让这个函数帮我们调用一下,这句代码类似于
function content($a){
    //代码块
}
content($array);
5. 这样就完成了一次函数的代理调用,通常在我们无法调用自己写的函数时使用。
6. 有什么写的不对的地方欢迎指出,反正我又不会改~QAQ~~QAQ~

PHP中代理函数调用的小案例

原文地址:http://www.cnblogs.com/xpshell/p/8059307.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved