3

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)=> array(4.5、6、7)

私の関数は、可変サイズ(入力と出力用)でこれを行う必要があります。

あなたが私を助けてくれることを願っています。前もって感謝します!

4

2 に答える 2

4

$randomList説明した方法で配列を要素に「短縮」するには、次のようにarray_chunk()array_map()を一緒に$X使用できます。

$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);
}
于 2009-07-29T22:45:41.077 に答える
-1
$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
}
于 2009-07-29T22:46:46.737 に答える