-1

我不确定这个问题的标题应该是什么,如果您有更好的选择,请随时更改。

我需要搜索array团队的全名并返回短名。现在我有以下条件:

$teams = array('MMB' => 'Mumbai', 'MMB' => 'Mumbai Indians');

$Vteam = (array_search($vteam, $teams, true) !== false) ? array_search($vteam, $teams) : substr($vteam, 0, 3);

当我搜索'Mumbai Indians'时,它会返回'MMB' ,但是当我单独搜索'Mumbai'时,它会返回'Mum'

我有大约 50 个团队名称$team

我应该如何编码以便在“孟买”“孟买印第安人”搜索中始终返回“MMB”

任何帮助将非常感激。

4

2 回答 2

2

如果您$teams自己创建数组,请使用值数组正确形成它!

$teams = array('MMB' => array( 'Mumbai', 'Mumbai Indians'));

但是,如果您想查找短名称,请反转此设计:

$teams = array( 'Mumbai' => 'MMB', 'Mumbai Indians' => 'MMB');

现在,如果您想知道Mumbai的简称,只需在其名称上索引数组即可:

echo $teams['Mumbai']; // Output: MMB
echo $teams['Mumbai Indians']; // Output: MMB
于 2013-06-25T17:21:22.603 回答
0

如果您正在进行部分匹配,您可能需要使用 foreach 循环:

$search = 'Mumbai';
$team = '';
foreach($teams as $shortname => $longname) {
    if(strpos($longname,$search) !== false) {
        $team = $shortname;
        break;
    }
}
于 2013-06-25T17:14:03.570 回答