2017-03-24 3 views
1

노력 PHP하지 :배열 5.6에서 덤프하지만 5.5.9

var_dump(Map::map); 

PHP 5.5.9 이것은 나에게 구문 분석 오류 제공 : 구문 오류, 예기치 않은, 기대 ']'map.php에 '.' 14 행 (아래의 배열 선언에서 첫 번째 연결 마크)

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 그럼 public으로 설정하고, 새 클래스 인스턴스를 만들고 $ map-> map –

+0

으로 호출합니다.하지만, 생성자를 사용하여 배열 설정이 작동했습니다. 나는 그것이 일정한 것일 수 있다고 생각했지만 어떤 직접적인 속성 선언이 분명히 같은 맥락에서 배열을 설정하고 있다는 것을 깨닫지 못했습니다. 고맙습니다! –

+0

@ HåkanKA 귀하의 의견에있어이 답이 맞으면 "표시"로 받아 들여 질문을 닫을 수 있습니다. – Robert