如何检查字符串中的最后两个字符是否对应于数组1 +数组2


How to check if two last characters in string correspond to array 1 + array 2

我真的不知道怎么找到这个

基本上,我希望我的脚本检查一个单词,例如:

"词汇"的意思

我也有两个数组:

$vowels=array("a","o","i","u","á","ó","í","ú","é","ō","ē");    $consonants=array("b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","z");

代码应该检查字符串的最后两个字符是否包含元音+辅音的组合。

不是辅音+辅音或辅音+元音。但要做到这一点似乎比看起来要难。要检查最后两个字符,我使用:

$lastletters= substr($word['Word'], -2);

问题是我不知道如何用子字符串中的数组来检查单词

if($lastletters="$vowels"."$consonants")

不工作,

if($lastletters=$vowels.$consonants)

行不通

下面应该可以工作:

if (in_array(substr($word, -2, 1), $vowels) && in_array(substr($word, -1, 1), $consonants)) {
   // $word ends with vowel the consonant.
}

技巧是使用in_array来检查给定字符是否在字符数组中。
请注意,比较是区分大小写的。如果需要比较不区分大小写,请在比较前将$word转换为小写。

您可以使用正则表达式。

$vowelsStr = implode('', $vowels);
$conStr = implode('', $consonants);
if (preg_match('/['.$vowelsStr.']['.$conStr.']$/', $word)) {
  // found it
}