здесь оказались странными, может быть, некоторые из более старших парней могут помочь мне прийти к выводу о том, что происходит (уже есть работа, но хотелось бы знаете, как это исправить, поскольку это может повлиять на другие вещи)Проблемы с глобальной регистрацией при регистрации параметров CLI в GET
Итак, у меня есть строка кода, которая будет определять строку CLI (на основе типа [0]), а затем перейти к преобразованию и загрузке параметров CLI в GET Титулы.
parse_str(implode("&", array_slice($payload['args'], 1)), $_GET);
Это прекрасно работает, вы можете протестировать его с созданием файла и issueing это что-то вроде
php - f test.php -- foo=bar bar=baz
с содержимым файла, используя указанную выше строку и просто print_r($_GET);
Ну это странно, когда вы пытаетесь использовать это как filter_input, я заметил, но не могу понять, почему
$filter = filter_input_array(INPUT_GET, [
'email' => FILTER_VALIDATE_EMAIL,
]);
print_r($filter); //empty
Это также выглядит как пытается лавировать на что-нибудь на запрос GET является отвергнутые по filter_input_array
в целом, экземпляр
http://localhost?request=foo
$_GET['email'] = '[email protected]';
//print_r($_GET); // check
print_r(filter_input_array(INPUT_GET, [
'email' => FILTER_VALIDATE_EMAIL,
'request' => FILTER_SANITIZE_ENCODED,
])):
Что ДЕЛАЕТ работу, хотя по неизвестным причинам является
$filter = filter_var_array($_GET, [
'email' => FILTER_VALIDATE_EMAIL,
]);
делает практически нет смысла to me = (
Я бы хотел поверить, что наш GET каким-то образом не зарегистрирован в глобальном масштабе, но мне не хватает на то, чтобы выяснить, почему ...
Я запускаю PHP 5.5.8 для Saucy, ввод приветствуется