我试图编写一个PHP函数,它接收一个正数数组,并返回数组中最大的数字。虽然如果数组是空的,它必须返回0.
到目前为止,我已经:
<?php
function getMaxArray($arr)
{
$i;
$max = $arr[0];
for ($i = 1; $i < $n; $i++) {
if ($arr[$i] > $max) {
$max = $arr[$i];
}
}
return $max;
}
但我不太确定如何合并“Other0”,我是否应该尝试在“if first”中插入for循环(在我第一次尝试时无法完全工作)?
另外,如何确保数组只接受正数?我试着问了几个朋友,然后在谷歌上搜索,但在这上面找不到多少.
发布于 2021-01-08 02:20:57
为此使用麦克斯(),无需使函数过于复杂:
$numbers = [103, 170, 210, 375, 315, 470, 255];
function getMaxArray($arr)
{
if (empty($arr)) {
return 0;
} else {
return max($arr);
}
}
$largest = getMaxArray($numbers);
echo $largest;
发布于 2021-01-08 02:16:50
我假设你在学习,那么你的解决方案没有什么问题。但是,这是一段很长的代码,可以更容易地完成:
$highest = count($array) ? max($array) : 0;
我将分步骤解释:
$example = (statement) ? ifTrue : ifFalse
。它被称为一个简短的if/ read,它可以被读为if(statement){ ifTrue } else{ ifFalse}
。max($array)
)0
)或者,您自己的代码可以稍微修改一下,并且您有了一个可行的解决方案:
function getMaxArray($arr)
{
//$i; php we dont declare variables like this.
$max = 0; // <-- start with zero
for ($i = 0; $i < $n; $i++) { // <-- start at first $array item
if ($arr[$i] > $max) {
$max = $arr[$i];
}
}
return $max;
}
发布于 2021-01-08 02:22:56
为什么要在php文档中重新创建weel??在php中有最大值函数,返回的数目最多。
max() -找到最高值
function getMaxArray($arr)
{
return count($arr) ? max($arr) : 0;
}
https://stackoverflow.com/questions/65626973
复制相似问题