面临问题使用 substr 分割字符串的最大长度 PHP

我面临着将最大数量除以自身的问题。例如,数字是


6667880025043855

最大长度是 16,所以我将把它分成四个数字,每个数字有四个中断


例子:


6667

8800

2504

3855

所以我所做的是使用 substr 并将其除以四。


代码:


if (strlen($number) == 16) { // instaces if the max length is 16.

  echo $number1 = substr($number, 0, 4)."</br>"; 

   echo $number2 = substr($number, 4, 8)."</br>";

   echo $number3 = substr($number, 8, 12)."</br>";

   echo $number4 = substr($number, 12, 16)."</br>";

}

但我的输出是:


6667

88002504

25043855

3855

我做错了吗?PS:我还处于初学者阶段。


Smart猫小萌
浏览 133回答 2
2回答

犯罪嫌疑人X

它应该是:$number = '6667880025043855';if (strlen($number) == 16) { // instaces if the max length is 16.  echo $number1 = substr($number, 0, 4)."</br>";    echo $number2 = substr($number, 4, 4)."</br>";   echo $number3 = substr($number, 8, 4)."</br>";   echo $number4 = substr($number, 12, 4)."</br>";}

PIPIONE

为什么不使用chunk_split将数字分成几部分?$number=6667880025043855;$length=4;$chunks=chunk_split( strval($number), $length );printf('<pre>%s</pre>',print_r($chunks,true));将产生:6667880025043855或者,如果您需要作为单独的变量:$chunks=explode( PHP_EOL, chunk_split( strval( $number ), $length ) );然后您可以访问每个号码,如下所示:echo $chunks[1];// yields 8800 etc
打开App,查看更多内容
随时随地看视频慕课网APP