Я случайно внес некоторые изменения в блог WordPress и заметил, что они используют parse_str
(http://php.net/parse_str) для анализа и установки своих необязательных параметров для функции.
Мне интересно, есть ли в этом преимущество перед отправкой массива?
Примеры:
С массивом:
$blahOptions = array(
'option_1' => true,
);
BlahArray($blahOptions);
function BlahArray($options = array()) {
$defaults = array(
'option_1' => false,
'option_2' => 'blah',
);
// this would probably be in a function to be used everywhere
foreach ($defaults as $defaultOption => $defaultValue) {
if (!isset($options[$defaultOption])) $options[$defaultOption] = $defaultValue;
}
}
С parse_str
:
$blahOptions = 'option_1=1';
BlahString($blahOptions);
function BlahString($options = '') {
$defaults = array(
'option_1' => false,
'option_2' => 'blah',
);
parse_str($options, $defaults);
$options = $defaults;
}