Я видел как минимум три способа сделать это.
Добавление массива со значениями по умолчанию
$options = $_POST + $defaults;
, где $options
- это ассоциативный массив, имеющий все, что было $_POST
, но с добавленными ключами и значениями из $defaults
(если не было значения в $_POST
для определенного ключа в $defaults
, тогда этот конкретный ключ пара / значение из $defaults
игнорируется, и значение для этого конкретного ключа в $_POST
не заменяется).
Слияние с массивом значений по умолчанию
Как показано @mario (используйте array_merge()
):
$options = array_merge($defaults, $_POST);
Использование вспомогательных функций ...
... например, Arr::get()
помощника Коханы :
/* ... */
public static function get($array, $key, $default = NULL)
{
return isset($array[$key]) ? $array[$key] : $default;
}
/* ... */
, что имеет некоторое преимущество в простой замене значения по умолчанию (которое по умолчанию равно NULL
). Можно использовать так:
echo Arr::get($_POST, 'user_email');
или
echo Arr::get($_POST, 'user_email', 'N/A');