填充关联数组


Populating associative arrays

$data[$key][$val] = [];有什么问题吗,因为在本地主机上它工作得很好,但在服务器上它没有(Wordpress显示空白页,我注意到它只是在那行中断)

$months = array('sijecanj' => 'Siječanj', 'veljaca' => 'Veljača', 'ozujak' => 'Ožujak', 'travanj' => 'Travanj'...);
$parts = array('Plodovi' ,'Korijen', 'Kora', 'Sjeme'); 
$data = array();
foreach($months as $key => $val) {
    $data[$key][$val] = [];
    foreach($parts as $part) {
        if( has_term( $part, $key ) ) {
            array_push($data[$key][$val], $part);
        }   
    }

}

我正在尝试做的是为每个月提供一个数组,如果它有一些带有特定部分的值,同时还与月份的键值对有关。(我需要键作为从 Wordpress 数据库获取数据的 slug,值将被回显'),所以最终我得到这样的东西

$data = [
    'Siječanj' => ['Plodovi', 'Korijen'],
    'Kolovoz' => ['Kora', 'Sjeme']
]

这与文本编辑器无关。它与您的PHP版本有关。您的开发环境运行的是 PHP 5.4+,而您的生产环境运行的是不支持短数组语法的 PHP 5.3 或更早版本(即 [] ),这是在 PHP 5.4 中引入的。

所以

$data[$key][$val] = [];

需要成为

$data[$key][$val] = array();

以向后兼容。