Aggiungere valori all'array

Crea un'array con le alcune città italiane che, in seguito, appaiano nella finestra del browser in una lista non ordinata:
Roma, Milano, Palermo, Napoli, Bologna, Foggia, Latina, Brescia. Quindi crea un modulo con un campo input che permette all'utente di aggiungere tutte i nomi di citta che desidera. Infine, transforma le prime lettere delle citta aggiunte in maiuscole e stampa la nuova array in una select box nel browser.
<!DOCTYPE html>
<html>
<head>
<title>Aggiungere valori ad una array</title>
</head>
<body>
<?php 
$citta = array('Roma', 'Milano', 'Palermo', 'Napoli', 'Bologna', 'Foggia', 'Latina', 'Brescia');
if (!isset($_POST['nuova'])){
?>
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
<p>Alcune citta italiane sono:</p>
<ul>
<?php  
foreach($citta as $c){
 echo "<li>$c</li>";
}
?>
</ul>
Qui di seguito puoi aggiungere le tue citta italiane preferite, separate da una virgola:<br>
<input type="text" name="citta" value="">
<input type="submit" name="nuova" value="Invia">
</form>
<br>
<?php
}else{
$citta_aggiunte = explode(',', $_POST['citta']); # ->convertiamo le citta aggiunte in un' array
$nuova_lista = array_merge($citta,$citta_aggiunte); #-> riuniamo le due array in una sola
?>
Ecco qui la nuova lista con le tue citta aggiunte:
<select>
<?php
foreach($nuova_lista as $n){ 
echo '<option> '.ucwords(trim($n)).'</option>'; 
#-> ucwords => transforma le prime lettere delle citta in maiuscole
#-> trim => toglie eventuali spazi vuoti inseriti
   }
?>
</body>
</html>
Vedi l'output dello script in una finestra separata.

Lascia un tuo commento (tutti i campi sono obbligatori) :