-3

nickb が最初にこれらのコードを提供しました。これがもともと行っていることは、ユーザーがテキストを入力すると、入力されたすべての単語の最初の文字を取得することによって頭字語に変換することです。ここでやりたいことは、出力の一部として入力されたテキストの最後の単語を含めることです。例: ユーザーが Automated Teller Machine を入力した場合、出力は次のようになります: ATM Machine. 残念ながら、私は今途方に暮れており、これを機能させるために必死です。助けてください。

function convert($text) 
{
    $acronym = array();
    $text2 = explode(' ', $text);
    foreach(explode( ' ', $text) as $word)
    {                   
        $acronym[] = strtoupper( $word[0]);
    }
    $count = str_word_count($acronym); 
    array_push($acronym, $text2[$count]);
    echo $text2[$count];
    return implode('', $acronym);
}
4

2 に答える 2

1

コードが何をするのかがはっきりしていないようです。それでは、新しいコードを最初から作成しましょう。ただし、コピーしないで、入力する必要があります。ここで使用するすべての関数は、PHPマニュアルに記載されています。関数が初めての場合、または1つまたは他のパラメーターについて知らない場合は、それを読んで学習してください。

$words = str_word_count($text, 2);

このコード行は、からすべての単語を$text配列に抽出します$words

最後の単語を取得するには、最後の配列エントリを取得するだけです。

$last_word = end($words);

したがって、これはすでに実行する作業の半分です。ここで、すべての最初の文字を抽出します。

$first_letters = array();
foreach ($words as $word) {
    $first_letters[] = substr($word, 0, 1);
}

これが完了すると、最初の文字はすべて配列$first_lettersに含まれ、最後の単語は文字列変数に含まれます$last_word。注意点が1つあります。に単語がない場合$text、これは機能しません。ただ言って、それを自分でチェックしてください。

それでは、最後の文字列をコンパイルしましょう。

$buffer = implode('', $first_letters);

配列を文字列に変換する簡単な方法です。そして、スペースと最後の単語を追加するだけです。

$buffer .= ' ';

それはスペース文字を追加することであり(明らかですよね?)、最後ではありません:

$buffer .= $last_word;

すべてをまとめます。

ハッピーコーディング。

于 2012-07-26T15:25:55.390 に答える