分别获得2位数字的第一位和第二位

时间:2019-02-03 09:12:25

标签: php

我有这个代码

$num = 53;

$num2 = sprintf("%02d", $num);//make sure $num is 2 digits 
$d1 = substr($num2, 1);//get first digit
$d2 = substr($num2, -1);//get second digit

d1应该为5,而d2应该为3,但两者都为3。有人可以告诉我为什么吗?

2 个答案:

答案 0 :(得分:2)

字符串的字符索引以0开头,因此,应使用第一个字符:

substr($num2, 0, 1);

$num2[0];

答案 1 :(得分:0)

使用str_split将数字拆分为1。
这样,它比使用substr更动态。

$num = 53;

$arr = str_split($num);
var_dump($arr);

输出:

array(2) {
  [0]=>
  string(1) "5"
  [1]=>
  string(1) "3"
}

https://3v4l.org/290UO