Const Array работает в php 5.6?

В php руководство, в замечаниях, внесенных пользователем, указано, что теперь можно использовать массив const. Я даже проверил другие сообщения здесь в stackoverflow, и они сказали то же самое. Я проверил следующий код:

<?php

class Constants{
const test = array("a"=>"apple","b"=>"ball","c"=>"car");
}
echo Constants::test["b"];
echo Constants::test["c"];
echo Constants::test["a"];
?>

Выход:

ball
car
apple

Приведенный выше код работает. Однако это не работает, если я использую define('test',array("a"=>"apple","b"=>"ball","c"=>"car") вне класса. Это новое недокументированное изменение или происходит только в моей настройке?

У меня есть php 5.6.1 (32-битный потокобезопасный) и apache 2.4.10 (32-битный) на Windows 7 x64. Я скачал их с соответствующих сайтов напрямую. Я не использовал стеки WAMP.

Также обратите внимание, что я использую NetBeans 8.0.1 IDE для подсказок, и это показывает эту ошибку. Кто-нибудь знает, как это удалить?

Syntax error
unexpected: [
after:  identifier 'test'
expected:   instanceof, as, =>, }, ',', OR, XOR, &&, ?, ;, ||, &&, |, ^, &, ==, !=, ===, !==, <=,
>=, <, >, <<, >>, +, -, *, /, %, '.', ], (, ), :
----

3

Решение

Очевидно, что если я использую const вне класса, ошибка в IDE NetBeans не будет отображаться.

const test = array("a"=>"apple","b"=>"ball","c"=>"car");
echo test["b"];
echo test["c"];
echo test["a"];

Это должно работать!

0

Другие решения

Других решений пока нет …