首页 > 解决方案 > php以扩展形式数组表示数字

问题描述

我想输入数字到那个数字有功功率输出

like212是输入输出实功200++102

这种方法也称为展开形式。

扩展形式的数字,例如:

$input = 5362;

我想要这样的输出:

5000,300,60,2

我试图找到许多解决方案但失败了。

如果有人理解我的问题,请给我代码示例。

我的代码编码尝试是在 python 中,但我正在寻找一个 php 解决方案。

user_input = 12345
result = []
for i, num in enumerate(str(user_input)[::-1]): result.append(f'{num} * {10 ** i}')
    print(' + '.join(result[::-1]))

标签: phparrays

解决方案


另一种可能更简单的方法可能是:

$a = 5362;
$length = strlen($a);
foreach (str_split($a) as $item) {
    $result[] = $item * 10 ** --$length;
}
echo implode(',', $result);

流程说明:

  1. 存储字符串长度
  2. 遍历被拆分为字符数组的字符串
  3. 处理当前数字:乘以10^<number of zeroes>,同时递减值
  4. 将当前处理的数字存储到结果数组中
  5. 用于implode将数组元素连接到 CSV 字符串中

演示:https ://3v4l.org/BLcde


推荐阅读