Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建PHP函数,以便在调用时从不同变量输出值?_Php_Html_Arrays - Fatal编程技术网

如何创建PHP函数,以便在调用时从不同变量输出值?

如何创建PHP函数,以便在调用时从不同变量输出值?,php,html,arrays,Php,Html,Arrays,我有不同的变量和不同值的数组。我需要在HTML中显示每个数组项的值,这是我已经知道的。问题是,我需要找到每个数组项的值相对于它们自身的百分比。方程式如下: 蓝球百分比=蓝球/所有数组项之和*100 我正在寻找一种方法来使用一个函数,以便通过该等式回传每个数组项的结果,但不知道如何编写它 这是我的阵列: $balls = array( 'red' => 5, 'blue' => 7, 'green' => 2 ); $socks = array(

我有不同的变量和不同值的数组。我需要在HTML中显示每个数组项的值,这是我已经知道的。问题是,我需要找到每个数组项的值相对于它们自身的百分比。方程式如下:

蓝球百分比=蓝球/所有数组项之和*100

我正在寻找一种方法来使用一个函数,以便通过该等式回传每个数组项的结果,但不知道如何编写它

这是我的阵列:

$balls = array(
    'red' => 5,
    'blue' => 7,
    'green' => 2
);
$socks = array(
    'red' => 5,
    'blue' => 7,
    'green' => 2
);
我认为我的HTML应该是这样的:

Blue balls make up<?php echo $percent($ball['blue']); ?>% of the balls. 
There are <?php echo $balls['blue']; ?> blue balls.
我知道底部回音是有效的,但我甚至不知道如何尝试为顶部回音编写函数,或者回音本身是否可行

<?php

$balls = array(
    'red' => 5,
    'blue' => 7,
    'green' => 2
);
$socks = array(
    'red' => 5,
    'blue' => 7,
    'green' => 2
);

function percent($array, $element)
{
    $total = 0;
    $elementValue = $array[$element];
    foreach($array as $entry)
    {
        $total += $entry;
    }
    return ($elementValue / $total) * 100;
}
?>
<html>
<body>
    Blue balls make up<?php echo percent($balls, 'blue'); ?>% of the balls. 
    There are <?php echo $balls['blue']; ?> blue balls.
</body>
</html>
函数调用

Blue balls make up <?php echo percent($balls, 'blue'); ?>% of the balls. 
There are <?php echo $balls['blue']; ?> blue balls.

希望这会有帮助。

蓝球占了球的%星期五下午的必修课蓝球笑话在这里哦,这很管用!只是个问题,你能解释一下foreach生产线发生了什么吗?特别是$entry变量的来源和作用方式。谢谢。它遍历数组$array,将找到的每个元素分配给变量$entry。它将类似于$i=0$i<数组长度$i++$total+=$array[$i];这只是一种更干净的方式。您也可以使用数组_sum。。。这是我第一次想到的
function percent($getArray,$assocSearch)
{
    $total      = array_sum($getArray);
    $elementVal = $getArray[$assocSearch];
    return ($elementVal / $total) * 100;
}

$balls = array(
    'red' => 5,
    'blue' => 7,
    'green' => 2
);
$socks = array(
    'red' => 5,
    'blue' => 7,
    'green' => 2
);
Blue balls make up <?php echo percent($balls, 'blue'); ?>% of the balls. 
There are <?php echo $balls['blue']; ?> blue balls.
Blue balls make up 50% of the balls.
There are 7 blue balls.