PHP:按另一个数组中的字母顺序对数组进行排序

PHP:按另一个数组中的字母顺序对数组进行排序,php,sorting,Php,Sorting,我正在做一个小刽子手游戏,我想把这个人的猜测按照实际单词的顺序进行排序;这是我的密码: $word = "peach"; $_SESSION['letters'] = str_split($word); ˆ这就是我将单词放入数组的地方,我希望当正确的字母添加到数组中时,它们按照单词的顺序排序。我有什么办法可以做到这一点,或者我可以用另一种方式来写它吗?谢谢你的帮助。我误解了。试试这个: <?php $guess = 'reach'; $guess_array = str_split($g

我正在做一个小刽子手游戏,我想把这个人的猜测按照实际单词的顺序进行排序;这是我的密码:

$word = "peach";
$_SESSION['letters'] = str_split($word);

ˆ这就是我将单词放入数组的地方,我希望当正确的字母添加到数组中时,它们按照单词的顺序排序。我有什么办法可以做到这一点,或者我可以用另一种方式来写它吗?谢谢你的帮助。

我误解了。试试这个:

<?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"
?>

我想你可能做错了。您不需要对数组进行排序。只需设置一个包含单词中字母的数组,另一个包含猜测的数组。然后用单词在数组上循环,看看是否在猜测数组中找到了相应的值。大概是这样的:

$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

我不知道你想说什么。你能举一个你想要什么的例子吗?@Mike所以如果我猜a,c和h,那么如果单词是peach,我希望它以空白,空白,a,c,h(不带逗号)的形式出现。我想把前3个字母分开排列,对不起,我不想按字母顺序排列,我想按单词的顺序排列