[英]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.