我在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
背景抱歉。感谢所有评论和答案。
答案 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
。