在PHP中这会被认为是正确的吗?

时间:2013-09-29 02:21:49

标签: php string substr

我已经写了一篇关于我之前遇到过这个问题的帖子,但我已经解决了这个问题。就像我上一篇文章一样,我有一个表单,文本框和一个按钮。我已完成所有工作,包括打印原始单词,打印单词中的字符数,打印全部大写字和按相反顺序打印单词。我唯一的问题是尝试获取我输入的任何文本,然后单击按钮输出以打印单词的第一个字母并打印单词的最后一个字母。我一直在浏览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"; 

2 个答案:

答案 0 :(得分: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"; 

答案 1 :(得分:2)

您最有可能看到的错误,如果您在问题中分享的代码是您正在测试的代码,请说明substr()需要两个参数:输入字符串和起始位置。< / p>

例如,您的“第一个”字符是:

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

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

获取最后一个角色:

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

您还可以使用快捷方式获取最后一个字符并将“起始索引”作为-1传递:

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