Упражнения с массивами PHP: Добавление пользовательского ввода в массив
Добавление пользовательского ввода в массив
В этом упражнении PHP мы будем использовать список включающий страны и города:
Токио, Япония; Мехико, Мексика; Нью-Йорк, США; Мумбаи, Индия; Сеул, Корея; Шанхай, Китай; Лагос, Нигерия; Буэнос-Айрес, Аргентина; Каир, Египет; Лондон, Англия.
Создайте ассоциативный массив, используя страны в качестве ключей и города в качестве значений. Создайте форму для пользователя с инструкциями "Выберите город:"
Следуйте этому запросу с полем выбора для 10 городов с параметрами, созданными путем циклического просмотра массива. Когда пользователь нажимает кнопку отправки, возвращается выписка $city находится в $country, где $city - это значение, выбранное пользователем, а $country - его ключ.
Посмотреть ответ
<?php
//Создаем ассоциативный массив со странами как ключами, городами как значениями
$cities=array(
"Япония" => "Токио" ,
"Мексика" => "Мехико" ,
"США" => "Нью-Йорк" ,
"Индия" => "Мумбаи" ,
"Корея" => "Сеул" ,
"Китай" => "Шанхай" ,
"Нигерия" => "Лагос" ,
"Аргентина" => "Буэнос-Айрес" ,
"Египет" => "Каир" ,
"Англия" => "Лондон"
);
//Если форма не отправлена, отобразить форму.
if(!isset($_POST['submit'])){
?>
<form method="post" action="yourfile.php">
<p>Выберите город:</p>
<select name="city">
<?php
//Используем массив для создания опций для поля выбора.
// Обязательно избегайте кавычек и добавляйте перевод строки.
foreach($cities as $c){
echo "<option value=\"$c\">$c</option>\n";
}
?>
</select> <p />
<input type="submit" name="submit" value="Вперёд">
</form>
<?php
// Если форма отправлена, обрабатываем ввод.
}else{
//Получить ответ пользователя.
$city=$_POST['city'];
//Находим соответствующий ключ в ассоциативном массиве.
$country=array_search($city, $cities);
//Отправляем данные обратно пользователю.
echo "<p>$city находится в $country.</p>" ;
}
?>
Please enable JavaScript to view the comments powered by Disqus.
Комментарии
<code>
, несколько строчек кода — в теги<pre><code>
...ваш код...</code></pre>
.