我正在制作一个小刽子手游戏,我想按照实际的单词对人做出的猜测进行排序;这是我的代码:
$word = "peach";
$_SESSION['letters'] = str_split($word);
这就是我将单词变成数组的地方,我希望当正确的字母添加到数组中时,它们按照单词的顺序排序。有什么方法可以做到这一点,或者我可以用其他方式写出来吗?谢谢你的帮助。
答案 0 :(得分:1)
我误解了。试试这个:
<?php
$guess = 'reach';
$guess_array = str_split($guess);
$word = 'peach';
$word_array = str_split($word);
$result = '';
foreach($word_array as $letter)
{
if(in_array($letter, $guess_array))
{
$result .= $letter;
}
else
{
$result .= '_';
}
}
echo($result);
// outputs: "_each"
?>
答案 1 :(得分:1)
我认为你可能错了。您不需要对数组进行排序。只需设置一个数组,其中包含单词中的字母和另一个带有猜测的数组。然后使用单词循环遍历数组,并查看是否在猜测数组中找到相应的值。像这样:
$word = "rumplestiltskin";
$letters = str_split($word);
// Assume the user gets at least 6 guesses:
$guesses = array('r', 's', 't', 'l', 'n', 'e');
// Display the letters guessed correctly
foreach ($letters as $letter) {
// Set both to lower case just in case
if (in_array(strtolower($letter), array_map('strtolower', $guesses)) === true) {
echo " $letter ";
}
else {
echo " _ ";
}
}
// Produces: r _ _ _ l e s t _ l t s _ _ n