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()需要两个参数:输入字符串和起始位置。

例如,您的“第一个”角色将是:

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

在这个示例中,有三个参数;第一个是您要获取子字符串的字符串。第二个参数是开始字符的索引;可选的第三个参数是“返回多少个字符”。在这种情况下,我们只对索引 0 处的单个字符感兴趣。

获取最后一个字符:

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

您还可以采取捷径来获取最后一个字符并将“起始索引”传递为-1

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