簡體   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