【发布时间】:2009-12-04 15:07:59
【问题描述】:
我该如何转换
01 to 1
02 to 2
一直到 9 点?
谢谢
【问题讨论】:
我该如何转换
01 to 1
02 to 2
一直到 9 点?
谢谢
【问题讨论】:
改为使用(int)$str;。它比 intval() 快 4 倍。
【讨论】:
我假设输入是一个字符串?
$str = "01";
$anInt = intval($str);
您可能认为前导 0 意味着这被解释为八进制,就像在许多其他语言/API 中一样。然而 intval 的第二个参数是一个基础。默认值为 10。这意味着 09->9。请参阅intval 页面上的第一条评论,该评论指出,您可能期望的基数扣除只有在您将 0 作为基数传入时才会发生。
【讨论】:
(int)$str;。它比 intval() 快 4 倍。
$x="01";
$x=+$x;
$x="02";
$x=+$x;
...
或
$x=+"01";
应该适用于 int 和 string
【讨论】:
$str = "05";
$last = $str[1];
【讨论】:
$i = substr($input, 1, 1);
【讨论】:
如果要使用通用正则表达式解决方案:'s/[0]([0-9])/\1/'(酌情添加锚点)
【讨论】:
$str='05';
if(strpos($str,'0')==0 && strpos($str,'0') != false ){
$new = intval(substr($str,1));
}
【讨论】:
你可以使用预定义的php函数。
intval()
例如:
$convert = intval(01);
echo $convert ;
它将打印 1(one);
【讨论】: