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

Osamu Shigematsu shige @ ravi.ne.jp
2004年 1月 9日 (金) 16:16:26 JST


重松です。こんにちは。

> また、$h{$j}=$h{$j} + 1;
> という、変数名の書き方もこれでいいのか疑問です。

適当に書いて動いても、動いているうちに入らないと思います。
マニュアルで、「可変変数」について調べてみてください。
結論を言えば、

$hj = $h.$j;
++$$hj;

と書くのが普通と思われます。

PHP の場合、普通はすべてグローバルになります。
(関数やクラスの内部で宣言したものを除いて)

なので、$hoge = array(); とすれば、それでおしまいです。

ただ、PHP の配列は、配列ではなく「連想配列」なので、
注意してください。

$hoge = array(0,1,2,3);
unset($hoge[0]);
ver_dump($hoge);

とすればわかりますが、[] のなかに指定しているのはキーであり、
インデックス (配列の中での位置) ではないので、要素の追加や削除、
整列 (ソート) を行うと、普通の (?) 配列とは異なった挙動になります。

それから、新規の話題を返信で作成しないようにお願いします。

-- 
Osamu Shigematsu
http://www.ravi.ne.jp/%7eshige/



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