php underscore的代码报错, 帮忙瞧瞧

chenge
  • 324
// Return a copy of the array with falsy values removed
  public function compact($collection=null) {
    list($collection) = self::_wrapArgs(func_get_args(), 1);
    
    $collection = self::_collection($collection);
    
    $__ = new self;
    return self::_wrap($__->select($collection, function($val) {
      return (bool) $val;
    }));
  }

function($val) {

代码来自php underscore, 这个地方报错, 似乎不能做参数.

回复
阅读 3.7k
1 个回答
✓ 已被采纳
function ($val) {

这种写法是lambda函数(匿名函数)的写法,以前经常出现在js等脚本语言中。但是从php 5.3开始支持这种匿名函数。所以你遇到的问题就是php版本不够造成的,升级到最新版本的php 5.3.x就可以解决这个问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏