我要取:es904b或es904bc
es904b位数会变,有可能是es904bc,但后面绝对是16位
怎么用substr截取啊。
回复讨论(解决方案) substr(0,strlen($str)-16);
substr(str,0,instr(str,'1')-1)
echo substr('es904b1234567812345678', 0, -16), '
';echo substr('es904bc1234567812345678', 0, -16);
es904b
es904bc
substr(0,strlen($str)-16);
不行啊,
echo substr('es904b1234567812345678', 0, -16), '
';echo substr('es904bc1234567812345678', 0, -16);
es904b
es904bc
再请教一个问题。我要取 倒回来8位后的8位数呢。
比如:es904bc1234567887951543或es904b1234567887951543
要取12345678
echo substr('es904bc1234567887951543', -16, 8);
12345678
substr 的第二个参数指示截取开始的位置
substr 的第三个参数指示截取的长度
由于长度不可能是负数,所以 substr 对负数值做了另外的解释:实际取其与字符串长度的和
