按字符访问字符串,就像它是一个数组一样

时间:2014-01-13 22:52:16

标签: php string

我有:

<?php    
$str = "Robert";
echo $str['e'];
?>

输出:

“R”

为什么会这样?

3 个答案:

答案 0 :(得分:4)

你的代码返回“R”,因为字符串'e'没有数值,因此它是0.因为它是0,这意味着这是从0位置调用字符串,对于“Robert”是“R”

尝试使用String Position函数,如下所示:

strpos($str, 'e');

答案 1 :(得分:2)

这是因为当您执行此操作时,您将e投射到integer

echo (int)'e' returns  0.

就像:echo $str[0]返回 R

答案 2 :(得分:2)

基本上,当你使用E时,它会转换为零,因为它期望一个整数。你可以像这样使用它

strpos($str,"e");

然后,为了验证你有你想要的东西,你可以使用

$str[strpos($str,"e")];