使用以下正确方法定义子字符串的负开始形参:因为这是我知道的唯一能让它返回正确结果的方法。
$start == (-44);
or
$start == (int) -44;
$pair = substr($str, $start, 4);
substr
调用是有效的,您的代码(张贴在这里)中唯一的错误是==
操作符。
应该是:
$start = -44;
$pair = substr($str, $start, 4)
也是起始值-44
从开始或结束的第44个字符。上面的代码认为-44
表示从字符串结束的第44个字符。
如果$str
的长度小于44,您可能会遇到另一个错误
您可以在表达式(包括变量)之前添加-
来反转其符号:
$pair = substr($str, -$start, 4);
或
$pair = substr($str, -44, 4);