未返回正确的值

时间:2019-05-14 15:33:06

标签: php

发生了一件非常奇怪的事情,所以我有字符串“ 0201506-”,我想将其分为3部分,例如第一部分是2个开头的数字(02),第二部分是数字01,最后是数字数字将是506(最后三位数字。

为此,我正在做substr,但第二部分做得不好,

$lr = $request->input('lrSelect');
echo "select lr ---> " . $lr . "\r\n";

$codConcelho = substr($lr, 2,3);
$codLR = substr($lr, 4,6);

echo "second---> " . $codConcelho . "\r\n"; 
echo "last ---> " . $codLR . "\r\n";

输出为

  

秒---> 015最后---> 506-

我想拥有

  

“第二” = 01,“最后” = 506。

我在做什么错了?

我正在将第一个数字计数为位置0(开始)...

1 个答案:

答案 0 :(得分:0)

感谢@Chris White,我发现问题出在我的长度参数上。我将代码更改为

$codConcelho=substr($lr, 2,2);
$codLR=substr($lr, 4,3);

它起作用了...我在想最后一个参数是char的结束位置,而不是子字符串的长度...