分母変数を関数 convert に渡そうとしています。私がそうすると、返された配列「$new_arr」は各値に対して「0」を生成します。
関数内で変数 $denominator を数字に置き換えてみましたが、新しい配列は適切な数値で返されます。
私のPHPの経験は初心者なので、私の質問は次のとおりです。
1) これはスコーピングの問題ですか? これらの変数を関数の外で宣言することで、それらは本質的にグローバルであると考えました。
2) '$denominator' も引数として渡す必要がありますか?
前もって感謝します。これがコードです。
$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);