С точки зрения производительности, я бы сказал, что влияние на потребление памяти может быть минимальным, но я также предполагаю, что этим можно пренебречь.
С точки зрения программирования, я бы сказал: « зависит от". Как правило, я бы сказал: «Не создавайте пустые поля, но когда они уже есть, не удаляйте их принудительно».
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: ТАК не любит "мнение посты на основе ". Пожалуйста, отнеситесь к этому с необходимой долей скептицизма, поскольку это отражает только мое мнение и не относится ко всем проблемам и ситуациям.
На мой взгляд, есть два случая:
Первый: Вы используете массив для дальнейшей обработки.
Если вы знаете, что вам нужны атрибуты для дальнейшей обработки, может быть (в зависимости от типа доступа) иметь пустой ценности. В этом случае можно хотя бы быть уверенным, что ключ массива присутствует. Это на самом деле не должно мешать вам создавать классы / объекты, которые, скорее всего, являются гораздо лучшим решением для этого, чем массивы. Это в основном будет применяться к данным, полученным напрямую из БД (без ORM-сопоставителей) или какого-либо рода частично обработанные данные.
Второй: Вы передаете информацию.
Когда вы передаете информацию по сети или где-то сериализуете, каждый байт имеет значение. В этом случае было бы неплохо очистить массив, чтобы вы могли сохранить эти байты. В этом случае также может быть исключение (как и интерфейсы REST, они являются «контрактами», и содержимое / структура ресурсов не должны изменяться только из-за наличия нулевых значений).