4

嘿,我怎样才能转换

01 to 1
02 to 2

一直到9?

谢谢

4

8 回答 8

23

我假设输入是一个字符串?

$str = "01";
$anInt = intval($str);

您可能认为前导 0 意味着这被解释为八进制,就像在许多其他语言/API 中一样。然而 intval 的第二个参数是一个基础。默认值为 10。这意味着 09->9。请参阅intval页面上的第一条评论,其中指出您可能期望的基数扣除只有在您将 0 作为基数传入时才会发生。

于 2009-12-04T15:09:06.780 回答
2
$x="01";
$x=+$x;

$x="02";
$x=+$x;

...

或者

$x=+"01";

应该适用于 int 和 string

于 2009-12-04T15:24:14.400 回答
2

(int)$str;改为这样做。它比intval().

于 2018-01-16T10:15:29.623 回答
0
$str = "05";
$last = $str[1]; 
于 2009-12-04T15:09:33.787 回答
0
$i = substr($input, 1, 1);
于 2009-12-04T15:11:36.340 回答
0

如果要使用通用的正则表达式解决方案:'s/[0] ([0-9]) /\1/' (酌情添加锚点)

于 2009-12-04T16:33:49.607 回答
0
$str='05';

if(strpos($str,'0')==0 && strpos($str,'0') != false ){ 
 $new = intval(substr($str,1));
}
于 2013-04-17T11:26:49.627 回答
0

您可以使用预定义的 php 函数。

intval() 

例如:

 $convert =  intval(01);
 echo $convert ;

它将打印 1(一个);

于 2018-04-17T11:33:06.910 回答