[PHP-users 19812]ループ内でのグローバル変数の宣言に関して

Keisuke Hamanaka hamanaka015 @ d-cruise.co.jp
2004年 1月 9日 (金) 14:14:54 JST


いつもお世話になっております。
濱中です。

PHPをはじめて半年ほどですが、躓いてしまいました。
ご教授いただければ幸いです。

プログラム中にて次のような計算を行わせたいと思っています。
---------------------------------
$h0=$h0 + 1;
$h1=$h1 + 1;
$h2=$h2 + 1;
$h3=$h3 + 1;
$h4=$h4 + 1;
・
(略)
・
$h22=$h22 + 1;
$h23=$h23 + 1;
---------------------------------
プログラムの本文中で似たような計算が
何回も出てくるので、次のような関数を
作ってみたのですが、変数のグローバル宣言のところで
エラーが出てしまいます。
---------------------------------
function keisan($i){
 for ($j=$i;$j<=23;$j++){
  global $h{$j};
  $h{$j}=$h{$j} + 1;
 }
}
---------------------------------
また、$h{$j}=$h{$j} + 1;
という、変数名の書き方もこれでいいのか疑問です。
このような書き方をせずに配列を使うべきなのでしょうか?
$h[$j]=$h[$j]+1;
このようにすると計算自体がうまくいくだろうことは
想像できるのですが、関数内で使用した配列を
プログラム中で使うには、グローバル宣言が必要
だと思うのですが、配列のグローバル宣言の
方法がわかりません。

ご教授いただければ幸いです。
よろしくお願いします。






PHP-users メーリングリストの案内