我不确定这个问题的标题是什么,如果你有更好的选择,请不要犹豫改变。
我需要使用团队的全名搜索array
并返回短名称。现在我有以下的creteria:
$teams = array('MMB' => 'Mumbai', 'MMB' => 'Mumbai Indians');
$Vteam = (array_search($vteam, $teams, true) !== false) ? array_search($vteam, $teams) : substr($vteam, 0, 3);
当我搜索'孟买印第安人'时,会返回'MMB',但当我单独搜索'Mumbai'时,它会返回的 '妈妈'即可。
我在$team
数组中有大约50个团队名称。
我应该如何编码,以便在'孟买'和'孟买印第安人'搜索时,它会返回'MMB'?
任何帮助都会非常感激。
答案 0 :(得分: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
答案 1 :(得分:0)
如果你正在进行部分匹配,你可能需要使用foreach循环:
$search = 'Mumbai';
$team = '';
foreach($teams as $shortname => $longname) {
if(strpos($longname,$search) !== false) {
$team = $shortname;
break;
}
}