如何从字符串转换为int并将它们按字符拆分为另一个数组

时间:2019-03-17 15:28:55

标签: php

使用此功能prt_pattern("341","0")打印出

 0 
00 
00 
000

我一直坚持将"341"转换为整数并将其存储在每个数字中,以下是我想要的结果

array[0] = 3
array[1] = 4
array[2] = 1

我将为此功能计划的流程是,将字符串转换为int并按字符存储它,然后找到最大值。之后,使用2 for loop,第一个for循环是从最大数到1的循环,而第二个循环是在4 = 4,打印0,打印" "和值的情况下循环播放数字array[1] -= 1

希望任何人都可以帮助我。

1 个答案:

答案 0 :(得分:-1)

这应该有效。首先,我在字符串中创建一个由每个数字组成的数组(转换为整数),然后使用max函数从中找出最高的数字。

<?php
$array = (function ($str): array {
    $a = [];
    $strlen = strlen($str);
    for($i = 0; $i < $strlen; $i++) {
        $a[] = (int) $str[$i];
    }
    return $a;
})("3429");


var_dump($array);

/**
array(4) {
  [0]=>
  int(3)
  [1]=>
  int(4)
  [2]=>
  int(2)
  [3]=>
  int(9)
}
**/

var_dump(max($array)); //int(9)

在此处在线测试:http://sandbox.onlinephpfunctions.com/code/2e3446d4475c3d69215857ed33a2c1f94f628e0b

编辑

正如Barmar在评论中指出的那样,使用PHP函数str_split的方式更容易,如下所示:

$array = str_split("3429");

将像前面提到的那样创建一个数组。

(我不考虑该功能真是愚蠢。)