Intereting Posts
Рисование единой диаграммы линейки Google с несколькими строками с использованием JSON MySql – Случайная проблема с таблицами на разных серверах Загрузка изображений на amazon s3 CakePHP 2.0: соединение с базой данных «Mysql» отсутствует или не может быть создано PHP добавляет дополнительные пробелы по требованию Как создать запись SPF для многих IP-адресов (SPF длиной более 255 символов) Как создать дополнительный уровень меню с помощью плагина jQuery Nestable с помощью Codeigniter? Объединение таблиц с запятыми Сеанс PhP не обновляется с использованием AJAX Использование метода статического класса для * Быстро * Сортировка массива по ключевым значениям в PHP Функция временной разблокировки В чем разница между self :: $ bar и static :: $ bar в PHP? Предупреждение о предупреждении PHP запрещено (13) на session_start () Предупреждение: preg_match () : окончательный разделитель '/' не найден Как изменить заголовок «Return-Path» при уведомлении по электронной почте

Почему примеры массива PHP оставляют трейлинг-запятую?

Я видел примеры, подобные следующим:

$data = array( 'username' => $user->getUsername(), 'userpass' => $user->getPassword(), 'email' => $user->getEmail(), ); 

Однако на практике я всегда не оставлял конечную запятую. Я что-то делаю неправильно, или это просто «другой» способ сделать это? Если бы я использовал фреймворк, не имевший бы заднюю запятую влиять на формирование кода отрицательно? Я видел использование концевых запятых в объявлениях массивов на других языках (Java, C ++), поэтому я предполагаю, что причины оставлять запятые не являются специфическими для PHP, но это вызвало мой интерес.

Solutions Collecting From Web of "Почему примеры массива PHP оставляют трейлинг-запятую?"

Почему примеры массива PHP оставляют трейлинг-запятую?

Потому что они могут. 🙂 Запись в PHP для состояний массива :

Наличие конечной запятой после последней определенной записи массива, в то время как необычный, является допустимым синтаксисом.

Серьезно, это полностью для удобства, поэтому вы можете легко добавить еще один элемент в массив без предварительного добавления конечной запятой к последней записи.

Говоря о других языках: будьте осторожны с этим в JavaScript. Firefox будет мягко переносить конечные запятые; Internet Explorer, по правде говоря, вызовет ошибку.

Это хорошая практика при определении массива на нескольких строках. Это также поощряется стандартами кодирования ZendFramework :

При использовании этого последнего объявления мы рекомендуем использовать конечную запятую для последнего элемента массива; это минимизирует влияние добавления новых элементов на последовательные строки и помогает гарантировать отсутствие ошибок синтаксического анализа из-за отсутствия запятой.

Я заметил при работе с контролем версий (git), что если мы добавим 1 вещь в массив, и у нас нет конечной запятой, это будет похоже на то, что мы изменили 2 строки, потому что запятая должна была быть добавлена ​​к предыдущей строке. Я считаю, что это выглядит плохо и может вводить в заблуждение при просмотре изменений файла, и по этой причине я думаю, что конечная запятая – это хорошо.

Я не могу говорить за других людей, но обычно оставляю в моем коде запятую. Я делаю это, потому что если / когда я позже добавляю в массив, мне не нужно беспокоиться о том, чтобы пропустить запятую из-за забывания добавить запятую к предыдущей строке.

Я всегда делаю конечную запятую, потому что это помогает избежать синтаксических ошибок при добавлении новых элементов массива … это просто хорошая практика.

Я чувствую, что, хотя это разрешено, это плохая практика, ее, как бы исключение из последней половины двоеточия ваших функций и циклов.

Потому что он сохраняет записи единообразными.

Если вам пришлось поменять порядок или добавить или удалить записи, вы знаете, что возможность оставить конечную запятую очень удобна.

Если последний элемент не может иметь запятую, то вам придется поддерживать последнюю запятую, изменяя записи. Это бессмысленное упражнение и пустая трата времени и ударов пальцев, потому что цель замены или изменения записей уже выполнена.

Предоставляя конечную запятую на последнем элементе, он освобождает программиста от стремления к этой досадной и бесплодной детализации.