为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
Smart猫小萌 2023-04-23 17:47:25
我面临着将最大数量除以自身的问题。例如,数字是6667880025043855最大长度是 16,所以我将把它分成四个数字,每个数字有四个中断例子:6667880025043855所以我所做的是使用 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>";}但我的输出是:666788002504250438553855我做错了吗?PS:我还处于初学者阶段。
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

它应该是:

$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>";

}


查看完整回答
反对 回复 2023-04-23
?
PIPIONE

TA贡献1829条经验 获得超9个赞

为什么不使用chunk_split将数字分成几部分?


$number=6667880025043855;

$length=4;

$chunks=chunk_split( strval($number), $length );


printf('<pre>%s</pre>',print_r($chunks,true));

将产生:


6667

8800

2504

3855

或者,如果您需要作为单独的变量:


$chunks=explode( PHP_EOL, chunk_split( strval( $number ), $length ) );

然后您可以访问每个号码,如下所示:


echo $chunks[1];// yields 8800 etc


查看完整回答
反对 回复 2023-04-23
  • 2 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信