我正在尝试做类似于 hangman 的事情,当您猜测一个字母时,它会用字母的内容替换下划线。我想出了一个方法,但它似乎效率很低,我想知道是否有更好的方法。这是我所拥有的 -
<?
$word = 'ball';
$lettersGuessed = array('b','a');
echo str_replace( $lettersGuessed , '_' , $word ); // __ll
echo '<br>';
$wordArray = str_split ( $word );
foreach ( $wordArray as $letterCheck )
{
if ( in_array( $letterCheck, $lettersGuessed ) )
{
$finalWord .= $letterCheck;
} else {
$finalWord .= '_';
}
}
echo $finalWord; // ba__
?>
str_replace
与我想要的相反。我想要的价值$finalWord
是什么,而不必通过循环来获得我想要的结果。