是否有更好的方法来检查元素是否是数组中的元音?
foreach($alphaArray as $alpha) {
$ascii = ord($alpha); // convert each alpha to ascii
if($ascii == 65 || $ascii == 69 || $ascii == 73 || $ascii == 79 || $ascii == 85
|| $ascii == 97 || $ascii == 101 || $ascii == 105 || $ascii == 111 || $ascii == 117) {
$vowelArray[] = $alpha;
} else {
$consonantArray[] = $alpha;
}
}老师不允许regEx。
发布于 2015-02-03 05:31:33
这应该适用于你:
(这里我只使用in_array()和strtouppper()来检查它是否是元音)
$vowels = array('A', 'E', 'I', 'O', 'U');
foreach($alphaArray as $alpha) {
if(in_array(strtoupper($alpha), $vowels)) {
$vowelArray[] = $alpha;
} else {
$consonantArray[] = $alpha;
}
}发布于 2015-02-03 05:31:40
试着-
$vowels = array('a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U');
foreach($alphaArray as $alpha) {
if(in_array($alpha, $vowels, true)) {
$vowelArray[] = $alpha;
} else {
$consonantArray[] = $alpha;
}
}发布于 2015-02-03 05:32:37
尝试使用strtolower并在字母表上循环数组: strtolower将把大写字母转换为小字母。
foreach($alphaArray as $alpha) {
$ascii = strtolower($alpha); // convert each alpha to ascii
if($ascii == 'a' || $ascii == 'e' || $ascii == 'i' || $ascii == 'o' || $ascii == 'u') {
$vowelArray[] = $alpha;
} else {
$consonantArray[] = $alpha;
}
}https://stackoverflow.com/questions/28291951
复制相似问题