我搞不清这里出了什么事。这是我的test.php文件:
<?php
error_reporting(E_ALL);
echo phpversion();
$arr = array ();
$attrs = array_filter((array)$arr, function($v) {
return ($v || $v === 0 || $v === '0');
});
此脚本的输出为:
5.3.3警告:array_filter()期望参数2是有效的回调,在/path/test.php的第8行中没有数组或字符串
怎么会这样?我以为php 5.3支持lambdas。
最佳答案
这与eaccelerator中的一个bug有关,后者在缓存使用lambdas的操作码时出现问题。更新到eaccelerator的最新版本,并已修复。