我搞不清这里出了什么事。这是我的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的最新版本,并已修复。

08-25 20:29