没有匿名函数的解决方法
Workaround for not having anonymous functions
我有 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 Error Message
Parse error: syntax error, unexpected T_FUNCTION in MY FILE on line 16
所以服务器不会读取这个匿名函数,所以我必须正确定义它?
$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));
现在还在工作。
有帮助吗?
匿名函数从 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));
我有 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 Error Message Parse error: syntax error, unexpected T_FUNCTION in MY FILE on line 16
所以服务器不会读取这个匿名函数,所以我必须正确定义它?
$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));
现在还在工作。 有帮助吗?
匿名函数从 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));