<html><body>
<?php
function selectItems($items, $selected=0) {
$text = "";
foreach($items as $k=>$v){
if($k == $selected) $ch = " selected"; else $ch = "";
$text .= "<option$ch value='$k'>$v</option>\n";
}
return $text;
}
$names = array(
"Weaving" => "Hugo",
"Goddard" => "Paul",
"Taylor" => "Robert",
);
if(isset($_REQUEST['surname'])){
$name = $names[$_REQUEST['surname']];
echo "Вы выбрали: {$_REQUEST['surname']} - {$name} ";
}
?>
<!-- Форма для выбора имени человека -->
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
Выберите имя:
<select name="surname">
<?=selectItems($names, $_REQUEST['surname'])?>
</select><br>
<input type="submit" value="Узнать фамилию">
</form>
</body></html>
НЕ совсем понятна передача параметров функции. Не понятны вот эти 2 строки, как они работают
if($k == $selected) $ch = " selected"; else $ch = "";
$text .= "<option$ch value='$k'>$v</option>\n";
И как происходит работа с вот этим элементом формы:
<select name="surname">
<?=selectItems($names, $_REQUEST['surname'])?>
</select><br>