自定义函数 PHP


Custom Function PHP

我的代码在下面。我需要:

  1. avg创建一个函数。
  2. bigger 创建一个函数。

这将帮助我对数组重复以下过程 $n3$n4 .我试图为avg创建一个函数,但这是不对的。请看下面:

输入:

$n1 = array(4, 14, 8, 3, 24);
$n2 = array(3, 1, 4, 7, 5);
$n3 = array(0, 30, 7, 25, 17);
$n4 = array(6, 2, 5, 4, 3);
for ($i = 0; $i < 5; $i++); {
    $average1[] = avg($n1[$i], $n2[$i]);
    $average2[] = avg($n3[$i], $n4[$i]);
    $bigger[] = bigger($average1[$i], $average2[$i]);

函数平均值的 MY 输出:

function avg($n1[$i], $n2[$i]) {
    $av = ($n1[i] + $n2[$i]) / 2;
    return $av;
}
echo $av;

查找最大值

max($your_array);

查找平均值

function average($your_array) {
 return array_sum($your_array) / count($your_array);
}
我喜欢

@user1844933解决方案,但如果出于某种奇怪或学生目的的原因,您需要通过迭代数组创建两个函数,这可能是解决方案

<?php
$n1 = array(4, 14, 8, 3, 24);
$n2 = array(3, 1, 4, 7, 5);
$n3 = array(0, 30, 7, 25, 17);
$n4 = array(6, 2, 5, 4, 3);
function bigger($array) {
    $result = 0;
    foreach($array as $num) {
        if($num > $result) {
            $result = $num;
        }
    }
    return $result;
}
function average($array) {
    $result = 0;
    foreach($array as $num) {
        $result += $num;
    }
    return $result / count($array);
}
echo "<h2>n1</h2>";
echo "Average: ".average($n1)."<br>";
echo "Bigger: ".bigger($n1)."<br>";
echo "<h2>n2</h2>";
echo "Average: ".average($n2)."<br>";
echo "Bigger: ".bigger($n2)."<br>";
echo "<h2>n3</h2>";
echo "Average: ".average($n3)."<br>";
echo "Bigger: ".bigger($n3)."<br>";
echo "<h2>n4</h2>";
echo "Average: ".average($n4)."<br>";
echo "Bigger: ".bigger($n4)."<br>";

编辑我不是在检查数组是否具有不同数量的元素。我假设两个数组总是有相同数量的元素

<?php
$n1 = array(4, 14, 8, 3, 24);
$n2 = array(3, 1, 4, 7, 5);
$n3 = array(0, 30, 7, 25, 17);
$n4 = array(6, 2, 5, 4, 3);
function average($array1, $array2) {
    $result = 0;
    $result ="";
    for($i=0; $i < count($array1); $i++) {
        $result .= "Average Between: ". $array1[$i] . " and " . $array2[$i] . " is " . ($array1[$i] + $array2[$i]) /
            2 . "<br>";
    }
    return $result;
}
echo "<h2>n1 & n2</h2>";
echo average($n1, $n2)."<br>";
echo "<h2>n3 & n4</h2>";
echo average($n3, $n4)."<br>";

编辑 2

SO用户在评论中要求此功能。

function table($array) {
    $table = '<table style="border:1px solid #000;">';
    foreach($array as $row) {
        $table .= "<tr><td style='border:1px solid #000;'>$row</td></tr>";
    }
    $table .= '<table>';
    return $table;
}