配列
配列
1. プログラム例
<?php
// テキストファイルを配列変数に読み込み,その後平均値を計算する.
header("Content-Type: text/plain; charset=X-SJIS");
$fp = fopen("sample.txt", "r");
$num = 0;;
while(fscanf($fp, "%d %f %f", $name[$num], $popu[$num], $area[$num]) > 0) {
printf ("%d\t%5.1f\t%12.1f\n", $name[$num], $popu[$num], $area[$num]);
$num ++;
}
printf ("\nnum = %d\n", $num);
fclose($fp);
$s_popu = 0.0;
$s_area = 0.0;
for($i=0; $i<$num; $i++) {
$s_popu = $s_popu + $popu[$i];
$s_area = $s_area + $area[$i];
}
$s_popu = $s_popu / $num;
$s_area = $s_area / $num;
printf ("\nAverage=\t%5.1f,\t%5.1f\n", $s_popu, $s_area);
?>
2. 配列
系統的にデータが並んでいる場合は,配列変数にデータを代入しておくと便利である.
何度でもデータを呼び出すことが簡単に行える.
for文などで繰り返し計算をする場合に有効に利用できる.
配列変数は,変数名の後に[]をつけ.その中に配列の数を設定しておけば良い.
例題では$name[], $popu[], $area[]が配列変数である.
[]の中の数字は,添字と呼ばれ,添字を利用することによって順序よくデータを呼び出したり,任意の添字のデータを利用すことができる.
添字は,必ず整数型(int等)でなければならない.
配列の添字は0から始まる!注意すること.
例題では,name[0], name[1], name[2],...から...,name[46]までで,47個分である.
メモリによって配列の上限が異なる.したがって利用可能な添字の範囲を超えると,エラーが発生する.
例題を改良し,最終的に最も人口の多い県番号とその人口が出力されるプログラムを完成させなさい.なお出力は,以下の形式で出力されるものとする.
Num=○○○,Maximum Population=○○○○
変更したプログラムは,"p06.php"という名前で保存しなさい.
保存場所は,~/local_html/Program/p06.php
このプログラムをWebブラウザで確認しなさい
課題