Кто-нибудь видит что-то не так со следующей функцией? (Edit: нет, я не думаю, что это не так, я просто дважды проверка, так как это будет вставлен в очень общий путь кода.)PHP - содержимое массива запросов с синтаксисом точки
function getNestedVar(&$context, $name) {
if (strstr($name, '.') === FALSE) {
return $context[$name];
} else {
$pieces = explode('.', $name, 2);
return getNestedVar($context[$pieces[0]], $pieces[1]);
}
}
Это существенно преобразовать:
$data, "fruits.orange.quantity"
в:
$data['fruits']['orange']['quantity']
для контекста, это для вида утилиты я в здании в Smarty. Мне также нужно имя для формы, поэтому мне нужна строка в форме на основе ключа и не может напрямую обращаться к переменной Smarty в Smarty.
нет. должно ли быть что-то не так с этой функцией? – echo
@echo, нет, см. Править выше. Я просто не уверен, что мне не хватает чего-то совершенно очевидного, почему бы не сделать это так, как я, или если есть намного более простой способ сделать это. – Nicole