我有这个代码
$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。有人可以告诉我为什么吗?
答案 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"
}