Php 函数返回空数组

Php 函数返回空数组,php,arrays,function,Php,Arrays,Function,我试图将分母变量传递给convert函数。当我这样做时,返回的数组“$new_arr”为每个值生成“0” 我尝试在函数中用数字替换变量$denominator,新数组返回相应的数字 我的PHP经验是新手,所以我的问题是: 1) 这是范围界定的问题吗?我认为通过在函数之外声明这些变量,它们本质上是全局的 2) 我是否也需要将“$分母”作为参数传递 提前谢谢。这是密码 $highest_val = max($array_1); $lowest_val = min($array_2); $denom

我试图将分母变量传递给convert函数。当我这样做时,返回的数组“$new_arr”为每个值生成“0”

我尝试在函数中用数字替换变量$denominator,新数组返回相应的数字

我的PHP经验是新手,所以我的问题是:

1) 这是范围界定的问题吗?我认为通过在函数之外声明这些变量,它们本质上是全局的

2) 我是否也需要将“$分母”作为参数传递

提前谢谢。这是密码

$highest_val = max($array_1);
$lowest_val  = min($array_2);
$denominator = $highest_val - $lowest_val;

function convert($arr)
{

$new_arr=array();

for($i=0, $count = count($arr); $i<$count; $i++)
{
$numerator  = $arr[$i]-$lowest_val;     
$calc   = $numerator/$denominator;
$new_arr[] .= $calc;    
}
$arr = $new_arr;
return $arr;        
}

 $test_arr = convert($open_array);
 var_dump($test_arr);
$highest\u val=max($array\u 1);
$lower_val=min($array_2);
$分母=$最高值-$最低值;
函数转换($arr)
{
$new_arr=array();

对于($i=0,$count=count($arr);$i要在函数中使用全局变量,也需要在函数中定义它们

$highest_val = max($array_1);
$lowest_val  = min($array_2);
$denominator = $highest_val - $lowest_val;
function convert($arr)
{
global $highest_val;
global $lowest_val ;
global $denominator;

或者,您可以简单地将这三个值作为参数发送到函数。如果您遵循全局作用域路径,也可以使用$GLOBALS数组。是的,您确实需要将这些值作为参数传递到函数中

function convert($arr, $highest_val, $lowest_val, $denominator) { ... }

$test_arr = convert($open_array, $highest_val, $lowest_val, $denominator);
var_dump($test_arr);

太棒了,谢谢!我不能接受它作为一个答案,但我肯定会在10分钟后。如果我忘了,就pm我lol。谢谢你的答案!我感谢你这么晚的时间提供的信息。