在字符串的特定位置查找字符

时间:2013-08-26 19:56:53

标签: php

由于我还是PHP的新手,我正在寻找一种方法来了解如何从字符串中获取特定字符。

示例:

$word = "master";
$length = strlen($word);
$random = rand(1,$length);

所以让我们说$ random值是3,然后我想找出第三个是什么字符,所以在这种情况下是字符“s”。如果$ random是2,我想知道它是“a”。

我确信这很简单,但我现在尝试了近一个小时的一些创意,但总是失败。

非常感谢您的帮助。

5 个答案:

答案 0 :(得分:13)

您可以使用substr()从点和长度开始抓取字符串的一部分。所以例子是:

substr('abcde', 1, 1); //returns b

在你的情况下:

$word = "master";
$length = strlen($word) - 1;
$random = rand(0,$length);
echo substr($word, $random, 1);//echos single char at random pos

在行动here

中查看

答案 1 :(得分:6)

您可以像使用基于0的索引数组一样使用字符串:

$some_string = "apple";
echo $some_string[2];

它会打印'p'。

或者,在您的情况下:

$word = "master";
$length = strlen($word);
$random = rand(0,$length-1);

echo $word[$random];

答案 2 :(得分:1)

试试这个:

$word = "master";
$length = strlen($word);
$random = rand(0,$length-1);

if($word[$random] == 's'){
 echo $word[$random]; 
}

此处我使用0,因为$word[0]m,因此我们需要从strlen($word)中减去一个以获取最后一个字符r

答案 3 :(得分:1)

使用substr

$GetThis = substr($myStr, 5, 5);

如果您想要多个字符,只需使用相同或相同的值

$word = "master";
$length = strlen($word);
$random = rand(0,$length-1);
$GetThis = substr($word, $random, $random);

正如我的评论中所述(我也忽略了这一点),请务必从rand开始0以包含字符串的开头,因为m位于0 }}。如果我们都忽略了它不会随机(随机?)现在它会:)

答案 4 :(得分:0)

您只需使用$myStr{$random}获取字符串的第n个字符。