Codice PHP:
<?PHP
$q=false;
if(isset($_GET["term"])) $q = strtolower($_GET["term"]);
if (!$q) return;
$items=array("Agrigento","Alessandria","Ancona","Aosta","Arezzo","Ascoli Piceno","Asti","Avellino","Bari","Barletta-Andria-Trani","Belluno","Benevento","Bergamo","Biella","Bologna","Bolzano","Brescia","Brindisi","Cagliari","Caltanissetta","Campobasso","Carbonia-Iglesias","Caserta","Catania","Catanzaro","Chieti","Como","Cosenza","Cremona","Crotone","Cuneo","Enna","Fermo","Ferrara","Firenze","Foggia","Forlì-Cesena","Frosinone","Genova","Gorizia","Grosseto","Imperia","Isernia","L'Aquila","La Spezia","Latina","Lecce","Lecco","Livorno","Lodi","Lucca","Macerata","Mantova","Massa-Carrara","Matera","Medio Campidano","Messina","Milano","Modena","Monza e della Brianza","Napoli","Novara","Nuoro","Ogliastra","Olbia-Tempio","Oristano","Padova","Palermo","Parma","Pavia","Perugia","Pesaro Urbino","Pescara","Piacenza","Pisa","Pistoia","Pordenone","Potenza","Prato","Ragusa","Ravenna","Reggio di Calabria","Reggio Emilia","Rieti","Rimini","Roma","Rovigo","Salerno","Sassari","Savona","Siena","Siracusa","Sondrio","Taranto","Teramo","Terni","Torino","Trapani","Trento","Treviso","Trieste","Udine","Varese","Venezia","Verbano-Cusio-Ossola","Vercelli","Verona","Vibo Valentia","Vicenza","Viterbo");
$result = array();
asort($items);
foreach ($items as $item) {
$n=strlen($q);
if (substr(strtolower($item), 0,$n) == $q) {
array_push($result, $item);
}
}
echo array_to_json($result);
//##########################################################################################################################
protected function array_to_json( $array ){
if( !is_array( $array ) ){ return false; }
$associative = count( array_diff( array_keys($array), array_keys( array_keys( $array )) ));
if( $associative ){
$construct = array();
foreach( $array as $key => $value ){
if( is_numeric($key) ){ $key = "key_$key"; }
$key = "\"".addslashes($key)."\"";
if( is_array( $value )){
$value = array_to_json( $value );
} else if( !is_numeric( $value ) || is_string( $value ) ){
$value = "\"".addslashes($value)."\"";
}
$construct[] = "$key: $value";
}
$result = "{ " . implode( ", ", $construct ) . " }";
}else{
$construct = array();
foreach( $array as $value ){
if( is_array( $value )){
$value = array_to_json( $value );
} else if( !is_numeric( $value ) || is_string( $value ) ){
$value = "'".addslashes($value)."'";
}
$construct[] = $value;
}
$result = "[ " . implode( ", ", $construct ) . " ]";
}
return $result;
}
?>
Tutto abbastanza semplice, ma non funziona. La pagina PHP se richiamata a browser passandogli la querystring