substr函数如何工作?

时间:2013-06-09 06:34:56

标签: php string substr

我在php.net中遇到过这段代码。

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Accessing single characters in a string
// can also be achieved using "square brackets"
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

substr('abcdef',1,3)返回'bcd',最后一个索引为3,它返回"bcd",如果我substr('abcdef',0,4)则返回'abcd'。但与第一个示例相比,我希望substr('abcdef',0,3)返回'abcd'。我在这里想念的是什么

substr($string,$start,$last)如何在php中运行?

编辑:对不起我认为第三个参数的每一个身体都不长,超出了我的理解......由于我的Java背景抱歉。感谢所有评论和答案。

3 个答案:

答案 0 :(得分:6)

substr()不是substr($string, $start, $last)它是substr($string, $start, $length)。因此,substr('abcdef', 0, 4)会返回abcd,因为它从0(a)开始,并且有4个字母。

同样随机说明:echo substr('abcdef', -1, 1);本质上是多余的,因为-1的长度只有1,所以字符串可能也是:echo substr('abcdef', -1);

答案 1 :(得分:1)

第一个整数表示从哪里开始搜索,第二个整数表示长度。在你的情况下4个字符(从0开始)。

答案 2 :(得分:0)

substr('abcdef',0,3)会输出abc 要获得输出abcd,您应该使用substr('abcdef',0,4)

substring的作用为substr('abcdef',start_position,no. of character you want) 所以如果你想要从第一个字符开始的任何子字符串,你应该使用0作为start_position。

您可以参考此link