在STR上将STR的其余部分替换为0

时间:2018-06-11 04:24:37

标签: php

我不知道应该是什么问题,

我有int需要像这样拆分

$value = 123454

我不会这样结果

100000
20000
3000
400
50
4

目前我喜欢这个

public function displaySong($value){

    $strvalue = strval($value);
    $len = strlen($strvalue);

    for ($x = 0; $x <= $len; $x++) {
        $str = substr($strvalue, $x);
        echo "The number is: $str \n";
    } 


    echo $len."\n";
    echo $strvalue[1]."\n";
}

如何让它发挥作用?或者有更好的解决方案吗?

3 个答案:

答案 0 :(得分:0)

尝试一下:

$value = '123454';

$array = str_split($value, 1);

$array = array_reverse($array);

array_walk($array, function(&$a, $b){

  $a = $a . str_repeat('0', $b);

});

$array = array_reverse($array);

echo '<pre>';
print_r($array);
echo '</pre>';

将输出:

Array
(
    [0] => 100000
    [1] => 20000
    [2] => 3000
    [3] => 400
    [4] => 50
    [5] => 4
)

答案 1 :(得分:0)

<?php

$value = (string) 123454;
$len   = strlen($value);

for($i=0;$i<$len;$i++)
    echo str_pad($value[$i], $len - $i, '0') . "\n";

输出:

100000
20000
3000
400
50
4

答案 2 :(得分:0)

愚蠢的第一季内胆:

<?php
echo implode("\n",
    array_map(
        function($v, $k) {
            return str_pad($v, $k, 0);
        },
        $digits = str_split(123454),
        range(count($digits), 1, -1)
    )
);

输出:

100000
20000
3000
400
50
4