Помогите разложить скрипт по полочкам. Суть скрипта я понял, не понял как он работает. Отписал то, что я приблизительно понимаю. Не понимаю алгоритм действий интерпретатора.
<?php
function selectedItems($items, $selected = 0){ // тут я понял что передается массив с именами и фамилиями
$text = ""; // этой переменной возвращается значение
foreach ($items as $k => $v) { // цикл перебирает $k - фамилия => $v - имя
if ($k === $selected) // условие если фамилия равняется по значению и по типу не понятно что за selected
$ch = $selected; // здесь переменной присваивал значение
else // тут ясно если условия не соблюдены то вы полнятся этот оператор
$ch = ""; //переменной присваиваем значение
$text .= "<option $ch value ='$k'>$v</option>\n>"; // тут для вообще непонятная тема
}
return $text; // возвращаем в переменную значение
}
$names = [
"Weaving" => "Hugo", "Goddard" => "Paul", "Taylor" => "Robert", // это массив
];
if(isset($_REQUEST['surname'])){ // берем с глобальной переменной сернейм я так и не понял откуда она там взялась
$name = $names [$_REQUEST['surname']]; // присваиваем значение
echo "Вы выбрали {$_REQUEST['surname']}, $name "; // эком показываем на экран результат
}
?>
<form action = "test.php" method="POST"> <!-- передача формы -->
Выберите имя :
<select name="surname"> <!-- выпадающий список -->
<code lang="php"><?=selectedItems($names, $_REQUEST['surname'])?> </code> <!-- вызов функции с передачей аргументов (массива и глобальной переменной) -->
</select><br/>
<input type="submit" value="Узнать фамилию"> <!-- кнопка -->
</form>