如何在PHP中获取一个数字的第一个和最后一个数字?

7

如何获取一个数字的第一位和最后一位数字?例如,对于数字2468,我想得到数字28。我能够获得中间的数字(46),但是我无法做到同样的操作来获取第一位和最后一位的数字。

对于中间的数字,我可以这样做:

$substrmid = substr ($sum,1,-1); //my $sum is 2468
echo $substrmid;

Thank you in advance.


4
阅读PHP手册substr()页面总是有所帮助的:$first = substr($sum, 0, 1); $last = substr($sum, -1);。该代码的作用是从字符串 $sum 中提取第一个和最后一个字符,存储在变量 $first$last 中。 - Mark Baker
4个回答

17

你可以按照以下方式从字符串中获取第一个和最后一个字符:

$sum = (string)2468; // type casting int to string
echo $sum[0]; // 2
echo $sum[strlen($sum)-1]; // 8

或者

$arr = str_split(2468); // convert string to an array
echo reset($arr); // 2 
echo end($arr);  // 8

最好的方法是使用substrMark Baker在他的评论中描述了这个方法。

$sum = 2468; // No need of type casting
echo substr($sum, 0, 1); // 2
echo substr($sum, -1); // 8

2
你可以这样使用substr函数:
<?php

$a = 2468;
echo substr($a, 0, 1).substr($a,-1);

1
您也可以像这样使用它(无需转换)。
$num = 2468;
$lastDigit = abs($num % 10); // 8

然而,该解决方案不适用于十进制数,但如果你知道你只会使用整数,它会起作用。 abs 位用于处理负整数情况。

-1
$num = (string)123;
$first = reset($num);
$last = end($num);

1
你不能在字符串上调用 end - Adam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接