这是我的功能:
function rp_md5 ($string)
{
return md5(strrev($string) . $string);
}
我希望将其转换为内联匿名函数,我已经尝试过这段代码:
$foo = $_POST['u_pwd'];
$pwd = function() use($foo) {
return md5(strrev($foo) . $foo);
};
如何在变量$pwd
中存储新密码?
通常我必须称之为:
echo $pwd($foo);
对不起我的不好解释。
答案 0 :(得分:3)
您可能会遇到的问题是您尝试直接将$pwd
打印为变量,而不是函数。这种方式$pwd
将成为类Closure的对象,不能转换为字符串。你应该打电话。
在您的示例中,它将是:
$foo='adasdsadasd';
$pwd=function() use($foo) {return md5(strrev($foo) . $foo);};
echo $pwd();
返回
c22ddae767082a65351481607d0974b7
但是对于use($foo)
,你希望$ foo是一个全局变量,你的函数几乎不可重用。
使用:
$foo='adasdsadasd';
$pwd=function($foo) {return md5(strrev($foo) . $foo);};
将为您提供使用参数调用$pwd()
的机会,因此您可以使用不同的参数每次都使用它。
在这种情况下,您正在使用:
echo $pwd($foo);
要实现相同的输出:
c22ddae767082a65351481607d0974b7