我需要在单个字符串中找到第一个元音的位置。例如。
garbage
会返回1
plastic
会返回2
apple
会返回0
我是初学者,所以我很难接受这个。我想我需要一个带有数组或正则表达式的循环。
答案 0 :(得分:13)
使用strcspn
功能。它将在开头返回字符串的长度,不匹配您指定的任何字符。
$pos = strcspn(strtolower($str), "aeiou"); // and sometimes y
答案 1 :(得分:1)
<?php $mystring="find first vowel in a string";
$vowel=array();
$vowel['0'] = stripos($mystring,'a');
$vowel['1'] = stripos($mystring,'e');
$vowel['2'] = stripos($mystring,'i');
$vowel['3'] = stripos($mystring,'o');
$vowel['4'] = stripos($mystring,'u');
$min=99999;
for($i=0; $i<5;$i++){
if ($vowel[$i] !== false) {
if($min>$vowel[$i]){
$min=$vowel[$i];
}//end if
}//end if
}end for
if($min==99999){
echo "No vowel found.";
}else{
echo "vowel found at position :".$min;
}
?>
答案 2 :(得分:0)
strpos - 查找字符串中第一次出现子字符串的位置
e.g ==
$email = 'name@example.com';
$domain = strpos($email, '@');
echo $domain; // prints 4