数组转储在5.6但不是PHP 5.5.9

时间:2017-03-24 10:51:20

标签: php arrays string-concatenation

尝试:

var_dump(Map::map);

在PHP 5.5.9中,这给了我 解析错误:语法错误,意外'。',在第14行的map.php中期待']'(这是下面数组声明中的第一个连接标记)

在PHP 5.6中,它会在没有任何警告或通知的情况下转储数组。

class Map 
{    
const map = [
'admin'              => [
     ''              => __DIR__ . 'somefile.php'],
  'resa'               => __DIR__ . 'somefile.php',
  'galleri'            => __DIR__ . 'somefile.php',
  'kategori'           => __DIR__ . 'somefile.php',
   ''               => [
     ''               => __DIR__ . 'somefile.php',
 'katalog'            => __DIR__ . 'somefile.php',
 'resan'              => __DIR__ . 'somefile.php',
 'bussresor'          => __DIR__ . 'somefile.php',
 'kontakt'            => __DIR__ . 'somefile.php'],
   'ajax'               => __DIR__ . 'somefile.php',
   'test'               => [
    ''                => __DIR__ . 'somefile.php',
    'test1sub'            => __DIR__ . 'somefile.php',
    'test2'               => [
      ''                  => __DIR__ . 'somefile.php',
      'test2sub'              => __DIR__ . 'somefile.php',
        'test3'                 => [
          ''                  => __DIR__ . 'somefile.php',
          'test3sub'              => __DIR__ . 'somefile.php'
        ]
      ]
    ]
  ];
}

1 个答案:

答案 0 :(得分:1)

这是因为在PHP 5.6中引入了常量数组。在5.5~中,它将导致解析错误。

http://php.net/manual/en/migration56.new-features.php