PHP - 如果一个字符串或变量以元音字母开头

5

我做了一个if语句来检查变量是否只包含字母,但我还想检查变量是否以元音字母开头。

if (ctype_alpha($original)) {
        print "oké";
    }
    else {
        print "pas oké";
    }

如果没有特定的函数,我怎么知道呢? 谢谢。

6
如果($original{0})是以下元音字母之一:a、e、i、o、u,则会执行代码块“begins with a vowel”。 - Mark Baker
谢谢@Mark Baker。你的答案对我来说比ctype_alpha()更好,因为我的变量中也包含有空格的字符串。 - Neel
2个回答

13
$vocals = array('a','e','i','o','u');

if (ctype_alpha($original) && in_array($original{0}, $vocals)) {
  print "oké";
} else {
  print "pas oké";
}

使用$string{index},您可以访问$string中某个位置的字符。

使用in_array,您可以检查该字母是否包含在数组中(在我们的示例中,是元音数组)


替代方案

如果您愿意,甚至可以使用preg_match来执行正则表达式测试。

if (ctype_alpha($original) && preg_match('/^[aeiou]/i', $original))

0

适用于PHP 7.4:

$vowels = array('a','e','i','o','u');

if (ctype_alpha($original) && in_array($original[0], $vowels)) {
  print "oké";
} else {
  print "pas oké";
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接