繁体   English   中英

数组内的php函数

[英]php function inside array

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

意外的'功能'(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值需要使用静态/ 常量表达式初始化。 遗憾的是,匿名函数不是“常量”,不足以计算。 后来的PHP版本允许一些有限的表达式,比如2 + 4 (因为结果总是不变的),但仅此而已。 函数声明过于复杂的处理static上下文(您可以在以后的功能随时添加到数组,你就不能初始化它的方式*)。

*这种限制的原因是static声明在与运行时代码不同的解析阶段处理,并且解析阶段不能处理除原始值之外的任何内容。

再试一次(你有2个,代码末尾太多了,请删除静态)

编辑:添加功能,以便您可以使用其他类中的数组。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM