数组中的php函数

标签 php arrays function compiler-errors

我尝试将一个函数存储在一个数组中,但它一直给我这个错误:

unexpected 'function' (T_FUNCTION)

我在互联网上四处查看,但他们大多说我应该使用 php 5.3 及更高版本,而我使用的是 5.6.21

这是我的数组:

       static $Events = array(
            'View Page' => array(
                'properties' => array(
                    'previous_event',
                    'number_view_page',
                ),
                'trigger' => function($foo){
                    return $foo;
                },
            ),
        );

如果有人知道问题是什么以及如何解决,请帮助我:)

最佳答案

static 值需要用 static/constant 表达式初始化。可悲的是,匿名函数的“常数”不足以计算。后来的 PHP 版本允许一些有限的表达式,例如 2 + 4(因为结果总是常量),但仅此而已。函数声明太复杂,无法在 static 上下文中处理(您可以随时将函数添加到数组 afterwards,只是不能初始化 就是这样*)。

* 此限制的原因是 static 声明在与运行时代码不同的解析阶段处理,并且该解析阶段只能处理原始值。

关于数组中的php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37829355/

相关文章:

php - 从页面抓取时如何按顺序获取数据

php - 如何使用 php/mysql 从对象/数组中获取正确的信息?

java - 如何确定算术表达式中第一个冗余括号的索引?

c# - Azure Functions RunOnStartUp 在配置中设置而不是在编译时设置?

php - 将自定义数据添加到 Woocommerce 订单项目

php - httppost mysql 为空

c - VLA 原型(prototype)和多维数组参数

arrays - 如何将一个对象插入到mongo数组中的另一个对象中

ios - 使用var vs typealias有什么区别

php - preg_match() : Unknown modifier php function