Я пытаюсь найти лучший способ использовать точечную нотацию при передаче ключа или набора ключей в функцию и получение этого значения.PHP превратить строку в индексы php post
Пример
shipping.first_name
Как это выглядит на самом $_POST
массива:
$_POST[shipping][first_name] = 'some value'
Я хотел бы быть в состоянии передать в (в качестве параметра) строка, и есть возвращение функции значение столбца.
function get_post($str = NULL){
return $_POST[$key1][$key1]..etc.
}
Текущая попытка (работает как задумано, но нужно положить в $ _POST):
От: SO Question
function assignArrayByPath(&$arr, $path) {
$keys = explode('.', $path);
while ($key = array_shift($keys)) {
$arr = &$arr[$key];
}
}
$output = array();
assignArrayByPath($output, $str);
Это создает массив:
Array ([shipping] => Array ([first_name] =>))
Я хотел бы тогда сделать что-то вроде этого:
return isset($_POST.$output) ? true : false;
Как я могу взять этот массив, созданный из строки, разделенной периодом, и проверить, существует ли она в POST?
Я думаю, что это может быть дубликат, но я не уверен. Приносим извинения заранее, если это так. Буду признателен за любую оказанную помощь.
Может быть, это может помочь: http://stackoverflow.com/questions/1432486/creating-object- instance-from-published-data-php – Babblo