我面临一个问题..请帮助我..
我有2个字符串:
$teamslist = BAL@DET,WAS@SF,LA@STL,LAA@KC;
$string = BAL,WAS,LA,LAA,DET,SF,STL,KC;
我要检查的是$ string是在$ teamslist中找到的元素,而不是在$ teamslist中显示全名...
例如:
我在$ string中有“ BAL”,我想检查在$ teamlist中发现的天气...如果找到,则比结果应为
$result will be = BAL@DET
我正在使用的代码仅在一种情况下起作用,而在第二种情况下不起作用...如果在@符号之前找到BAL,则显示正确的结果..但是,如果在@符号之后找到其BAL,则有时会显示字母或不显示任何内容..帮助我解决第二个问题...如果单词在@符号之前或之后,则两者都显示正确的结果...
希望这能理解我的问题..我正在尝试的代码是:
foreach($string as $tag)
{
$teamslisto = substr($teamslist, strpos($teamslist, $tag)+strlen($tag));
$teamslisto2 = substr($teamslist, strpos($teamslist, $tag) - strlen($tag) -1);
$final=explode(",",$teamslisto);
$final2=explode(",",$teamslisto2);
if($final['0']=="")
{
$opkplay = $final2['0'];
}
else
{
$opkplay = $tag.$final['0'];
}
}
请帮我....
您也可以 stripos()
在这种情况下使用 :
修订:条纹男子可能会做出错误的比赛,从而使球队爆炸,而是排成一列。
$teamslist = 'BAL@DET,WAS@SF,LA@STL,LAA@KC';
$string = 'BAL,WAS,LA,LAA,DET,SF,STL,KC';
$teamslist = explode(',', $teamslist);
$string = explode(',', $string);
$result = array();
foreach($string as $tag) {
foreach($teamslist as $teams) {
$temp = explode('@', $teams);
if(in_array($tag, $temp)) {
$result[$tag] = $teams;
}
}
}
echo '<pre>';
print_r($result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句