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

时间:2014-06-18 15:01:05

标签: php arrays substr

我真的不知道如何找到它。

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

'字'

我也有两个数组:

$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)

根本不起作用。

2 个答案:

答案 0 :(得分:1)

以下内容应该有效:

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

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

答案 1 :(得分:-1)

您可以使用正则表达式。

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