Codice PHP:
<?PHP
$q=false;
$a="";
if(isset($_GET["term"])) $q = strtolower($_GET["term"]);
if (!$q) return;
$items=array("Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antartica","Antigua e Barbuda","Antille Olandesi","Arabia Saudita","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgio","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia e Erzegovina","Botswana","Brasile","Brunei","Bulgaria","Burkina Faso","Burundi","Cambogia","Camerun","Canada","Capo Verde","Ciad","Cile","Cina","Cipro","Città del Vaticano (Santa Sede)","Columbia ","Comoros","Congo","Corea","Corea D.P.R. ","Costa Rica","Cote D'Ivoire (Costa d'Avorio)","Croazia (Hrvatska)","Cuba","Danimarca","Dominica","East Timor","Ecuador","Egitto","El Salvador","Emirati Arabi Uniti","Eritrea","Estonia","Etiopia","Figi","Filippine","Finlandia","Francia","Gabon","Gambia","Georgia","Georgia del Sud","Germania","Ghana","Giamaica","Giappone","Gibilterra","Gibuti","Giordania","Grecia","Grenada","Groenlandia","Guadalupe","Guam","Guatemala","Guinea","Guinea Equatoriale","Guinea-Bissau","Guyana","Guyana Francese","Haiti","Honduras","Hong Kong SAR - PRC","India","Indonesia","Iran","Iraq","Irlanda","Islanda","Isola Bouvet","Isola Riunione","Isole Cayman ","Isole Cocos (Keeling)","Isole Cook ","Isole Falkland (Malvine)","Isole Faroe ","Isole Heard e McDonald ","Isole Mariana Settentrionali","Isole Marshall ","Isole Maurizio","Isole Natale","Isole Norfolk ","Isole Outlying Minori USA","Isole Salomone","Isole Samoa USA","Isole Turks e Caicos ","Isole Vergini (Britanniche)","Isole Vergini (US)","Isole Wallis e Futuna ","Israele","Italia","Jugoslavia","Kazakhstan","Kenya","Kiribati","Kuwait","Kyrgyzstan","Lao","Lesotho","Lettonia","Libano","Liberia","Libia","Liechtenstein","Lituania","Lussemburgo","Macao","Macedonia","Madagascar","Malawi","Maldive","Malesia","Mali","Malta","Marocco","Martinique","Mauritania","Mayotte","Messico","Micronesia","Moldavia","Monaco","Mongolia","Montserrat","Mozambico","Myanmar","Namibia","Nauru","Nepal","Nicaragua","Niger","Nigeria","Niue","Norvegia","Nuova Caledonia","Nuova Zelanda","Oman","Paesi Bassi","Pakistan","Palau","Panama","Papua Nuova Guinea","Paraguay","Perù","Pitcairn","Polinesia Francese","Polonia","Porto Rico","Portogallo","Qatar","Regione di Taiwan","Regno Unito","Repubblica Democratica del Congo (Zaire)","Repubblica Ceca","Repubblica Centroafricana","Repubblica Domenicana","Repubblica Slovacca","Romania","Ruanda","Russia","Sahara Occidentale","Samoa","San Kitts e Nevis","San Marino","San Tome e Principe","San Vincent e le Grenadine","Santa Lucia","Sant'Elena","Senegal","Seychelles","Sierra Leone","Singapore","Siria","Slovenia","Somalia","Spagna","Sri Lanka","St Pierre e Miquelon","Stati Uniti","Sud Africa","Sudan","Suriname","Svalbard e Isole Jan Mayen ","Svezia","Svizzera","Swaziland","Tailandia","Tajikistan","Tanzania","Territori Britannici dell'Oceano Indiano","Territori Francesi del Sud","Togo","Tokelau","Tonga","Trinidad e Tobago","Tunisia","Turchia","Turkmenistan","Tuvalu","Ucraina","Uganda","Ungheria","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe");
$result = array();
asort($items);
foreach ($items as $item) {
$n=strlen($q);
if (substr(strtolower($item), 0,$n) == $q) {
array_push($result, array("ini"=>$q, "label"=>$item, "value" => strip_tags($item)));
}
}
echo array_to_json($result);
//##########################################################################################################################
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;
}
?>
Ora se voi provate ad inserire la A o la I tutto funziona, ma ad esempio con la S a me non da risultati fino a che non inserisco altre lettere. Come mai secondo voi?