从数字PHP中删除前导零


Removing leading zeros from number PHP

我正试图从PHP中的一个数字中删除前导0。问题是,我可以在每个数字中都这样做,但当我达到数字09时,所做的转换是不正确的。它给了我0,而不是9。

我已经尝试了我在网上能找到的每一个解决方案,但每一个都以数字9失败。

现在我的代码是:

function removezeros($value)
{
    switch ($value){
        case 01: return 1;
        case 02: return 2;
        case 03: return 3;
        case 04: return 4;
        case 05: return 5;
        case 06: return 6;
        case 07: return 7;
        case 08: return 8;
        case 09: return 9;
    }
    return $value;
}

$month =  09;
echo  removezeros($month);

我还尝试将数字定义为整数,如下所示:

$month = (int)$month;

并返回带有该代码$month=intval($month)的int值,但仍然为零。

我做错了什么?我该如何解决?

由于您以八进制表示法提供了一个值,因此可以先将其强制转换为字符串,只需修剪前导零。ltrim将在修剪前将任何数字强制转换为字符串:

$month = ltrim($month, '0'); // string

或者:

$month = intval(ltrim($month, '0')); // integer