没有匿名功能的解决方法

时间:2016-11-10 22:32:19

标签: php anonymous-function array-map

我有PHP 5.2并且我正在尝试使用这个匿名函数

$values = array_map(function ($value) use ($link){
    if($value == null) return null;
    return mysqli_real_escape_string($link, (string)$value);
}, array_values($input));

服务器的回复

  

PHP错误消息   解析错误:语法错误,第16行 MY FILE 中的意外T_FUNCTION

所以服务器不会读取这个匿名函数,所以我要定义它吗?

$func = function ($value) use ($link){
    if($value == null) return null;
    return mysqli_real_escape_string($link, (string)$value);
};
$values = array_map($func, array_values($input));

现在还在工作。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

从PHP 5.3开始,匿名函数可用,因此5.2没有它们

这适用于所有版本的PHP

function array_stuff($value){
    global $link; // I hate this sooo much but necessary evil here
    if($value == null) return null;
    return mysqli_real_escape_string($link, (string)$value);
};
$values = array_map('array_stuff', array_values($input));