duandou8120 2011-06-25 05:22
浏览 26
已采纳

关闭导致php-5.2中的语法错误

I am executing following code from this post:

preg_match_all("/'(.+)' ((\w+)\(? ?(\d*) ?\)?)/", $sql, $_matches, PREG_SET_ORDER);
$matches = array_map(function($v) {return array(trim($v[2]), $v[1]);}, $_matches);

But I am getting following error:

Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in SqlParser.php on line 29

I have spent some time to solve this but I am unable to find the solution.

Can someone tell me that what is wrong ?

  • 写回答

2条回答 默认 最新

  • dsa45664 2011-06-25 05:25
    关注

    I'm assuming you are using a PHP version less than 5.3, which does not support closures (You confirmed this in your comments). The code below should work. I just converted the anonymous function to a normal function.

    function map_cb($v){
        return array(trim($v[2]), $v[1]);
    }
    
    
    preg_match_all("/'(.+)' ((\w+)\(? ?(\d*) ?\)?)/", $sql, $_matches, PREG_SET_ORDER);
    $matches = array_map("map_cb", $_matches);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了