4

これについて以前に抱えていた問題についての投稿をすでに書きましたが、その問題は処理されました。前回の投稿のように、フォーム、テキスト ボックス、ボタンがあります。元の単語を印刷する、単語の文字数を印刷する、単語をすべて大文字で印刷する、単語を逆順に印刷するなど、すべてこれで完了しました。私が抱えている唯一の問題は、入力したテキストを取得してからボタンをクリックして、単語の最初の文字を印刷し、単語の最後の文字を印刷することです。PHP.net をいろいろ調べてみたところ、使用できる文字列の一部を返すために substr が使用されていることがわかりました。唯一の問題は、コードを記述してプログラムを実行しようとすると、その特定の行でエラーが発生することです。私は答えを探しているわけではありませんが、誰かが見て、私が何を見ているかを見てもらえますか?

$first = substr($_POST['entertext']);
echo "The first letter of the word is " . $first. "<br />\n"; 

$last = substr($_POST['entertext']);
echo "The first letter of the word is " . $last. "<br />\n"; 
4

2 に答える 2

3

これを試して:

$first = substr($_POST['entertext'], 0, 1);
echo "The first letter of the word is " . $first. "<br />\n"; 

$last = substr($_POST['entertext'], sizeof($_POST['entertext'])-2, 1);
echo "The first letter of the word is " . $last. "<br />\n"; 
于 2013-09-29T02:24:33.433 に答える
2

質問で共有したコードがテストしているコードである場合、最も可能性が高いエラーはsubstr()、入力文字列と開始位置の 2 つの引数が必要であると述べています。

たとえば、「最初の」キャラクターは次のようになります。

$first = substr($_POST['entertext'], 0, 1);

このサンプルには、3 つの引数があります。最初は、部分文字列を取得する文字列です。2 番目の引数は、開始する文字のインデックスです。オプションの 3 番目のパラメーターは、「返す文字数」です。この場合、インデックス 0 の 1 文字だけに関心があります。

最後の文字を取得するには:

$last = substr($_POST['entertext'], strlen($_POST['entertext']) - 1, 1);

ショートカットを使用して最後の文字を取得し、「開始インデックス」を-1次のように渡すこともできます。

$last = substr($_POST['entertext'], -1);
于 2013-09-29T02:25:20.653 に答える