Ciao a tutti ho un'array dove ogni chiave ha due valori
$dati = array(
"roma" => array("30","5"),
"milano" => array("9","7")
}
ho un form con due campi testuali dove inserisco i due nomi delle città
<form action ="pagina.php" method ="post">
Localita A: <input type ="text" name ="prima" />
Localita B: <input type ="text" name ="seconda" />
<input type ="submit" name ="submit" value ="cerca" />
</form>
recupero i dati e li inserisco dentro due variabili, la funzione strtolower converte il maiuscolo in minuscolo e la funzione trim rimuove gli spazi bianchi
$c1 = strtolower(trim($_POST['prima']));
$c2 = strtolower(trim($_POST['seconda']));
Adesso eseguo in ciclo che parte solo se le variabili che recuperano i dati del form hanno dentro tutte e due un valore lo controllo con la funzione !empty se sono vuote o solo una delle due ha un valore stampo a video di inserire entrambi i valori
if (!empty($_POST['prima']) && !empty($_POST['seconda'])) {
foreach( $nome as $chiave => $valore ) {
if ( $chiave == $c1 ) {
$lat1 = $nome[$chiave][0];
$lon1 = $nome[$chiave][1];
} elseif ( $chiave == $c2) {
$lat2 = $nome[$chiave][0];
$lon2 = $nome[$chiave][1];
} }
qui farò una serie di operazioni matematiche con i dati numerici che recupero dalle chiavi
} else { echo "Inserire i valori in entrambi i campi"; }
il problema é questo praticamente se inserisco i due valori dentro al form esegue il ciclo e anche se le chiavi non esistono mi esegue le operazioni matematiche stampando a video 0 non essendoci valori. Come posso far partire le operazioni matematiche solo se il valore che inserisco nel form coincide con la chiave dell'array?

Rispondi quotando
è tutto abbastanza confuso ma la prima cosa che mi balza all'occhio è: