Created
February 10, 2017 10:17
-
-
Save mol4anovma/9a76c2ce029047dfb8234ed36e5cd791 to your computer and use it in GitHub Desktop.
Вопрос 3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//Дана форма: | |
?> | |
<form> | |
<input type="text" name="alpha" value=""/> | |
<input type="text" name="beta" value=""/> | |
<input type="text" name="gamma" value=""/> | |
</form> | |
<?php | |
//На страницу с этой формой могут поступать значения через POST и GET | |
//(а могут и не поступать). Есть также массив значений по умолчанияю | |
//$defaults. Нужно наиболее лаконично сделать так, чтобы эти значения | |
//подставлялись в поля таким образом, что наиболее приорететен POST, | |
//потом GET, потом defaults. | |
//Вариант решения: | |
$_POST = array( | |
"alpha" => "Alpha_POST", | |
"beta" => "Beta_POST", | |
"gamma" => "Gamma_POST" | |
); | |
$_GET = array( | |
"alpha" => "Alpha_GET", | |
"beta" => "Beta_GET", | |
"gamma" => "Gamma_GET" | |
); | |
$defaults = array( | |
"alpha" => "Alpha", | |
"beta" => "Beta", | |
"gamma" => "Gamma" | |
); | |
array_walk($defaults, function (&$item, $key) { | |
if (!empty($_POST[$key]) || !empty($_GET[$key])) { | |
$item = (!empty($_POST[$key])) ? $_POST[$key] : $_GET[$key]; | |
} | |
}); | |
?> | |
<form> | |
<input type="text" name="alpha" value="<?php print $defaults["alpha"]?>"/> | |
<input type="text" name="beta" value="<?php print $defaults["beta"]?>"/> | |
<input type="text" name="gamma" value="<?php print $defaults["gamma"]?>"/> | |
</form> | |
<?php | |
//Принимаем за условие, что массивы $_POST и $_GET прошли валидацию до выполнения данного участка кода |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment