我有一个函数,它应该用法语动词创建许多共轭表。
当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>";
?>
答案 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