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个字母分开排列,对不起,我不想按字母顺序排列,我想按单词的顺序排列