php本地传值失败,PHP传值问题?

function str_emoji($str,$cdn){

function empic($h){

$p=dechex(str_replace(array('',';'),'',$h));

return '

'.%24cdn.%24p.'.png';

//$cdn无法传进来!!!

};

$str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1")',$str);

return $str;

};

echo str_emoji($str,$_POST['face']);

$cdn无法传进函数??

回复内容:

function str_emoji($str,$cdn){

function empic($h){

$p=dechex(str_replace(array('',';'),'',$h));

return '

'.%24cdn.%24p.'.png';

//$cdn无法传进来!!!

};

$str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1")',$str);

return $str;

};

echo str_emoji($str,$_POST['face']);

$cdn无法传进函数??

php中的闭包中变量的作用范围和js中的稍微有点不同。要使闭包函数外的变量作用于闭包函数内,可用use关键字。参考下面一个例子:

function test($a, $b) {

$t = function ($c) use ($a, $b) {

return $a + $b + $c;

};

return $t(3);

}

echo test(1, 2); // 6

$cdn不在empix()的作用域下,它是str_emoji()的全局变量。要把$cdn 传进empix()。

//自己测试下

function str_emoji($str,$cdn){

function empic($h,$cdn){

$p=dechex(str_replace(array('',';'),'',$h));

return '

'.%24cdn.%24p.'.png';

//$cdn无法传进来!!!

};

$str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1",'.$cdn.')',$str);

return $str;

};

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值