Intereting Posts
.htaccess вызывает проблемы в подпапках Отображение 5 элементов массива в строке в таблице HTML Расширение ведения журнала Laravel Laravel получить заголовки запроса ошибка .htacess 500 Внутренняя ошибка сервера PHP Предупреждение: mysql_query () ожидает, что параметр 1 будет строкой Предварительно установленный Linux для веб-разработчиков? Возможно ли «избежать» имени метода в PHP, чтобы иметь имя метода, которое сталкивается с зарезервированным ключевым словом? Быстрое изменение размера инструмента / сценария Как я могу написать тесты для загрузки файлов в PHP? Существуют ли языки программирования, предназначенные для PHP, помимо Haxe? Гиперссылки на пользователей в рассказах Как определить, переносится ли файл через ftp Команды MySqli не синхронизированы; вы не можете запустить эту команду сейчас Класс рефлексии PHP. Как получить значения свойств?

Показать дублированное предупреждение ключа в определении массива PHP

Можно ли получить предупреждение в следующем коде?

error_reporting(E_ALL); $s = array( 'a' => '1', 'a' => '1' ); var_export( $s ); 

Solutions Collecting From Web of "Показать дублированное предупреждение ключа в определении массива PHP"

Ваша единственная надежда (помимо учета самого себя) заключается в том, что ваш редактор достаточно умен, чтобы выделить опечатку. Этот снимок экрана из PHPStorm:

введите описание изображения здесь

В этом случае вы не можете выбросить ошибку, используя стандартные массивы. Тем не менее, вы можете посмотреть расширение SPL ArrayObject и выбросить в него ошибки, когда вы обновляете / переопределяете свойство.

Обновление: Что-то вроде этого:

 class MyStrictArray extends ArrayObject { public function offsetSet($index, $value) { if ($this->offsetExists($index)) { trigger_error("Can't redeclare a property", E_USER_ERROR); return; } return parent::offsetSet($index, $value); } } // and to use it. $array = new MyStrictArray(); $array['a'] = 'foo'; $array['a'] = 'bar'; // triggers error