Я хочу, чтобы преобразовать код ISO той или иной страны его имя с помощью следующей функции:Преобразовать код страны в название страны
function convertcodes($in, $type){
$out = "";
$long = array('Afghanistan' , 'Åland Islands' , 'Albania' , 'Algeria' , 'American Samoa' , 'Andorra');
$short = array('af','ax','al','dz','as','ad');
$in = trim($in);
switch($type){
case 'long':
$out = str_replace($short, $long, $in);
break;
case 'short':
$out = str_replace($long, $short, $in);
break;
}
return $out;
}
Проблема заключается в том, что она возвращает все страны вместо того, что я ищу потому что его соответствующие строки. Как я могу заставить его соответствовать точной строке? Использование preg_replace не будет работать с массивом.
(Очевидно, что фактические массивы намного больше, я раздел часть здесь для того, чтобы не сделать мой отправил кода слишком долго.)
тот же самый короткий индекс соответствует одному и тому же индексу длинного, право? – DonCallisto
Да, проблем нет. – Sander
Почему бы просто не использовать карту? –