PHPで値を平均化することにより、数値配列のサイズを小さくします。 X値
質問
PHPには、20個以上の要素を含む配列があります。キーは自動的に割り当てられています。値は1〜50の乱数です。
<?php
$randomList = array();
for ($i = 0; $i < 20; $i++) {
$randomList[] = mt_rand(1, 50);
}
?>
次に、この配列を折れ線グラフにプロットします。残念ながら、グラフには5ポイントしか使用できません。そのため、配列内の要素の数を減らす必要があります。しかし、チャートの外観を変更したくありません。そのため、次のような関数が必要です。
より明確にするために:配列のサイズを6要素から3要素に減らしたい場合、2つの要素のペアを合計して平均を取ることができます:
array(1、8、3、6、9、5)=&gt; array(4.5、6、7)
私の関数は可変サイズでこれを行う必要があります(入力および出力用)。
あなたが私を助けてくれることを願っています。事前に感謝します!
解決
「短縮」するには説明した方法で $ randomList
を $ X
要素に配列する場合、 array_chunk()および array_map()は、次のように一緒になります。
$randomList = array_chunk($randomList, count($randomList) / $X);
$randomList = array_map('array_average', $randomList);
そして array_average()
を次のように定義します:
function array_average($array) {
return array_sum($array) / count($array);
}
他のヒント
$randomList = array();
for ($i = 0; $i < 20; $i++) {
$randomList[] = mt_rand(1, 50);
}
$avgList=array();
for($i=0;$i<count($randomList)/2;$i++) {
$avgList[] = ($randomList[$i*2] + $randomList[$i*2+1]) / 2
}
所属していません StackOverflow