Sco*_*ski 5 php arrays computer-science
情况:我有一个元素数量可变的多维数组。例如
array(N) {
0 => array(3) { ... },
1 => array(8) { ... },
2 => array(1) { ... },
...
M => array(12) { ... },
...
N-1 => array(7) { ... }
}
Run Code Online (Sandbox Code Playgroud)
我想找到这个子数组中元素的最大数量(在上面的例子中,它是 12)。一个简单的解决方案是 O(N) 线性搜索。
<?php
function max_length($2d_array) {
$max = 0;
foreach($2d_array as $child) {
if(count($child) > $max) {
$max = count($child);
}
}
return $max;
}
Run Code Online (Sandbox Code Playgroud)
但是,我不禁想知道是否有一些聪明的技巧可以优化此查找。所以我的问题是一个两部分(尽管对任一部分的答案都可以解决它):
小智 5
你可以使用这个:https : //www.php.net/manual/ro/function.max.php
$test = array(
array('G', 'M', 2, 2),
array(1, 2222, 3)
);
$arr = max($test);
Run Code Online (Sandbox Code Playgroud)
// 输出 ->
array(4) {
[0]=>
string(1) "G"
[1]=>
string(1) "M"
[2]=>
int(2)
[3]=>
int(2)
}
Run Code Online (Sandbox Code Playgroud)