можно инициализировать массив PHP только с ключами?

Я просто ищу более красноречивый способ определения массива пустых строк ошибок для почтовой формы, тогда это …

 $err = array('NAME'=>'', 'EMAIL'=>'', 'ADDR'=>'', 'CS_LOC'=>'', 'ZIP'=>'','PHONE'=>'', 'COMMENTS'=>'', 'FILE'=> '');

Так как мне все равно приходится время от времени сбрасывать их, конечно же, в любое время при отправке формы, я уже настроил функцию, подобную приведенной ниже, которую я вызываю по мере необходимости, например, так.

    function clearFormErrors(&$ary) { // fill error array with empty strings
$keys = array_keys($ary);
$filled = array_fill_keys($keys, '');
}

Не так уж и важно [РЕДАКТИРОВАТЬ]:, но так как я собираюсь это так или иначе назвать, было бы неплохо, если бы существовал какой-нибудь хороший список желаний, чтобы я мог просто определить массив ** KEYS когда я объявляю это **, вот так …

$err = array('NAME', 'EMAIL, 'ADDR', 'CS_LOC, 'ZIP,'PHONE', 'COMMENTS, 'FILE');

Конечно, вышесказанное НЕ дает желаемого эффекта. Мне просто любопытно, есть ли какая-то простая директива или метод, который я пропустил в документах PHP, который бы позволил мне определить ключи (с некоторым типом по умолчанию или без него). Я уверен, что есть более сложная функция, которая может быть создана для создания нового массива, используя ключи (теперь значения) из моего вышеупомянутого массива ‘wishlist’, но похоже, что это не сделает код короче или больше ‘ красноречивый, верно?

0

Решение

Если у вас есть массив ключей, array_fill_keys это самый элегантный способ «перезагрузить» массив. Другой способ, который имеет смысл array_map, но для твоей простой задачи это кажется немного накладными.

4

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

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

По вопросам рекламы [email protected]