2 回答

TA贡献1816条经验 获得超4个赞
抱歉,在重读我的最后一个答案时,我意识到它似乎非常不友好-我猛击了一个快速答案,并且没有读回来。我要说的是,出现这样的错误是最快的解决方案,请转到php手册并检查所需的参数-在这种情况下,这是一个针和一个干草堆(即要搜索的内容和要搜索的内容)。
您可能会在这里发现相同的错误, $stringArray[$i] = $stringArray[$i].ucfirst();因为ucfirst要求传递一个字符串-在这里您像jQuery一样使用它,因此php认为您正在尝试连接一个字符串,它应该说ucfirst($stringArray[$i])
您也不能用逗号爆炸,除非您的字符串包含它们,所以在示例中,您将收到相同的字符串,我想您的意思是使用类似 str_split
我还要重申,我认为您需要使用in_array自己想要实现的目标,例如:
function doCapital($string, $array)
{
$stringArray = str_split($string);
foreach($stringArray as $key => $value)
{
//see if the key exists in the array of characters to change the case for
//and update if it does
if(in_array($key,$array)){
$stringArray[$key] = ucfirst($value);//thinking about it I might just use strtoupper since there's only one letter anyway - I'm not sure that there's any real performance benefit either way
}
}
return implode("",$stringArray);
}
echo doCapital('abcd', [1,2]); //outputs aBCd

TA贡献1810条经验 获得超4个赞
stripos-查找不区分大小写的子字符串在字符串中首次出现的位置
您缺少第二个参数,使用该函数的正确语法stripos
是
stripos ($haystack ,$needle);
这里
$haystack
->您要搜索的字符串
$needle
->子字符串
例如 :
$findme = 'x';
$mystring1 = 'xyz';
$pos1 = stripos($mystring1, $findme);
if ($pos1 !== false) {
echo "We found '$findme' in '$mystring1' at position $pos1";
}
- 2 回答
- 0 关注
- 239 浏览
添加回答
举报