当下一个以元音开头时更改数组值

时间:2014-08-11 01:24:52

标签: php arrays

我有一个函数,它应该用法语动词创建许多共轭表。

当french_personal_pronouns [0]之后的下一个值开始,第一个字母是元音(a,e,i,o,u)时,如何将$ french_personal_pronouns的第一个值从“je”更改为“j”“ )?

<?php
$french_personal_pronouns = array("je", "tu", "il", "nous", "vous", "ils");
$aimer = array ("aime", "aimes", "aime", "aimons", "aimez", "aiment");
$dire = array ("dis", "dit", "disons", "dites", "disent");


echo "$french_personal_pronouns[0] $aimer[1]"."<br>"; // result je aime -> should be j'aime
echo "$french_personal_pronouns[0] $dire[1]"."<br>";
?>

1 个答案:

答案 0 :(得分:2)

如何循环创建正确的应用程序结构取决于您,但在您的具体示例中,您可以在输出之前查找下一个值并将其与元音数组进行比较。

我已经编写了一个简单的元音检查功能,并将比较包装在另一个功能中,以便于阅读。 Here's a demo也是:

// Determine if a letter is a vowel
// @return bool true/false
function isVowel($letter) {
    return in_array(strtolower($letter), array('a', 'e', 'i', 'o', 'u'));
}

function outputFrench($word_one, $word_two) {
    // if the first letter of $word_two is a vowel...
    if(isVowel($word_two{0}))
        // use the first letter of $word_one with an apostrophe and all of $word_two
        $output = $word_one{0} . '\'' . $word_two;
    else
        // other wise combine the words with a space in between
        $output = $word_one . ' ' . $word_two;

    return $output;
}

echo outputFrench($french_personal_pronouns[0], $aimer[0]); // j'aime