2017-03-24 6 views
1

をしようとPHPません:アレイは5.6でダンプが、5.5.9

var_dump(Map::map); 

PHP 5.5.9で、これは私の 解析エラー与える:構文エラー、予期しない、期待して ']' 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' 
     ] 
     ] 
    ] 
    ]; 
} 
+0

http://php.net/manual/en/migration56.new-features.php#migration56.new-features.const-scalar-exprs –

答えて

1

これは、定数配列がPHP 5.6で導入されたためです。 5.5〜で解析エラーが発生します。

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

+0

しかし、それは私の配列を設定し、同じエラーが発生しますpublic static $ map 新しいクラスインスタンスを作成し、それを$ map-> map –

+0

で呼び出すだけですが、コンストラクタで配列を設定することはできました。 私はそれが一定のものかもしれないと思っていましたが、直接のプロパティ宣言が明らかに同じ文脈で配列を設定していることは分かりませんでした。ありがとうございました! –

+0

@HåkanKAあなたの意見ではこの答えが正しい場合は、 "マーク"で受け付けて質問を閉じることができます。 – Robert