0

$word と $allWords の 2 つのパラメーターを持つ findSpellings 関数を作成しています。$allwords は、$word 変数に似ている単語のスペルミスを含む配列です。私が達成しようとしているのは、soundex 関数に基づいて $word に似ているすべての単語を出力することです。配列を単語で印刷するのに問題があります。私が持っている私の機能は以下です。どんな助けでも大歓迎です:

<?php 
$word = 'stupid';

$allwords = array(
    'stupid',
    'stu and pid',
    'hello',
    'foobar',
    'stpid',
    'supid',
    'stuuupid',
    'sstuuupiiid',
);
function findSpellings($word, $allWords){
while(list($id, $str) = each($allwords)){

    $soundex_code = soundex($str);

    if (soundex($word) == $soundex_code){
        //print '"' . $word . '" sounds like ' . $str;
        return $word;
        return $allwords;
    }
    else {
        return false;
    }

}
 }
 print_r(findSpellings($word, $allWords));
?>
4

1 に答える 1

1
if (soundex($word) == $soundex_code){
    //print '"' . $word . '" sounds like ' . $str;
    return $word;
    return $allwords;
}

2回の返品はできません。最初の返品は、コードを終了します。

あなたはちょうどこのようなことをすることができます:

if (soundex($word) == $soundex_code){
    //print '"' . $word . '" sounds like ' . $str;
    $array = array('word' => $word, 'allWords' => $allWords);
    return $array;
}

そして、次のように$arrayから値を取得します。

$filledArray = findSpellings($word, $allWords);

echo "You typed".$filledArray['word'][0]."<br/>";
echo "Were you looking for one of the following words?<br/>";

foreach($filledArray['allWords'] as $value)
{
    echo $value;
}
于 2012-05-31T12:50:10.873 に答える