使用此功能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
。
希望任何人都可以帮助我。
答案 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");
将像前面提到的那样创建一个数组。
(我不考虑该功能真是愚蠢。)