Php 如何将字符串转换为int,并将它们逐个字符拆分为另一个数组
使用此功能,prt_pattern341,0,打印输出Php 如何将字符串转换为int,并将它们逐个字符拆分为另一个数组,php,Php,使用此功能,prt_pattern341,0,打印输出 0 00 00 000 我一直在把341转换成整数,然后把它存储在每个数字上。下面是我想要的结果 array[0] = 3 array[1] = 4 array[2] = 1 我将为这个函数计划的流程是,将字符串转换为int并按字符存储,然后找到最大值。之后,使用2作为循环,第一个for循环是从最大的数字循环到1,第二个循环是循环数字,如果4=4,则打印0,否则打印并在数组[1]=1处打印值 希望有人能帮我做这件事。这应该行得通
0
00
00
000
我一直在把341转换成整数,然后把它存储在每个数字上。下面是我想要的结果
array[0] = 3
array[1] = 4
array[2] = 1
我将为这个函数计划的流程是,将字符串转换为int并按字符存储,然后找到最大值。之后,使用2作为循环,第一个for循环是从最大的数字循环到1,第二个循环是循环数字,如果4=4,则打印0,否则打印并在数组[1]=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)
这将创建一个数组,就像前面提到的一样
我觉得没有考虑那个函数很傻。到目前为止你做了什么?@MohsenShakibafar:我一直在将字符串更改为int并单独存储。你为什么要先将字符串更改为int?使用str_split首先将字符串拆分为数字,然后将每个数字转换为int。@RussJ:正如我提到的,我一直在将str转换为int并存储在数组中。这是函数的第一步。在PHP中,通常不需要显式转换为int。如果您在需要数字的上下文中使用字符串,它将自动转换。您不使用str_split的原因是什么?是的,我没有认真考虑过。我将更新答案。使用str_split后,继续使用$array=int$array。它将把str转换成int@Barmar@pasklAfter str_split您将拥有一个数组,就像前面的答案一样。使用max$array,您可以从该数组中获得最大的数字。@LonelyToh您可以使用$array=array\u map'intval',$array将$array的所有元素转换为整数。
<?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)