由于我还是PHP的新手,我正在寻找一种方法来了解如何从字符串中获取特定字符。
示例:
$word = "master";
$length = strlen($word);
$random = rand(1,$length);
所以让我们说$ random值是3,然后我想找出第三个是什么字符,所以在这种情况下是字符“s”。如果$ random是2,我想知道它是“a”。
我确信这很简单,但我现在尝试了近一个小时的一些创意,但总是失败。
非常感谢您的帮助。
答案 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个字符。