我不知道应该是什么问题,
我有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";
}
如何让它发挥作用?或者有更好的解决方案吗?
答案 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