代码之家  ›  专栏  ›  技术社区  ›  Abid Ali

将变量用于数据表服务器端列值格式化程序

  •  0
  • Abid Ali  · 技术社区  · 9 年前

    我想通过服务器端格式化程序在DataTables的每个单元格上传递PHP函数,但PHP函数是动态的。以下是示例代码:

    $func_apply = $_GET['function_name']; // trim | strip_tags | md5 | ucwords
    
    $columns[] = array(
    'db'        => $field,
    'dt'        => '3',
    'formatter' => function( $d, $row ) {
                    return $func_apply($d);
                }
    );
    

    但这样我得到了PHP错误Undefined变量:$func_apply 如果我将全局$func_apply;在匿名函数中,则会给出致命错误:函数名必须是…中的字符串。。。

    1 回复  |  直到 9 年前
        1
  •  2
  •   Abid Ali    9 年前

    我已经通过使用PHP闭包解决了这个问题:

    $func_apply = $_GET['function_name']; // trim | strip_tags | md5 | ucwords
    
    $columns[] = array(
    'db'        => $field,
    'dt'        => '3',
    'formatter' => function( $d, $row ) use ($func_apply) {
                return $func_apply($d);
            }
    );