Php 使用字符串分解,在数组中搜索并返回它';s值

Php 使用字符串分解,在数组中搜索并返回它';s值,php,explode,Php,Explode,我想把乡村的鼻涕虫转换成短名字。所以我创建了这个函数: <?php function convertCountry( $countrySlug ) { $countries = "Andorra: AR|United-Arab-Emirates: UAE|Afghanistan: AFG|Antigua-And-Barbuda: AAB|Anguilla: ANG|Albania: ALB|Armenia: ARM"; $countryArray = explode('

我想把乡村的鼻涕虫转换成短名字。所以我创建了这个函数:

<?php 
function convertCountry( $countrySlug ) {
    $countries = "Andorra: AR|United-Arab-Emirates: UAE|Afghanistan: AFG|Antigua-And-Barbuda: AAB|Anguilla: ANG|Albania: ALB|Armenia: ARM";

    $countryArray = explode('|', $countries);

    return array_search($countrySlug, $countryArray);
}

echo convertCountry('United-Arab-Emirates');
?>


必须打印UAE,但不起作用。

array\u search
将找到相同的文本。在您的情况下,我认为我们应该使用
strpos

function strpos_array($countryArray, $countrySlug) {
    if (is_array($countryArray)) {
        foreach ($countryArray as $country) {
            if (($pos= strpos($country, $countrySlug)) !== false) {
                return str_replace($countrySlug.': ', '', $country);
            };
        }
    }
    return false;
}

function convertCountry($countrySlug) {
    $countries = "Andorra: AR|United-Arab-Emirates: UAE|Afghanistan: AFG|Antigua-And-Barbuda: AAB|Anguilla: ANG|Albania: ALB|Armenia: ARM";

    $countryArray = explode('|', $countries);

    return strpos_array($countryArray, $countrySlug);
}
echo convertCountry('United-Arab-Emirates');
//This will print UAE