[PHP-users 15606]Re: 同名のテキストフィールドから配列で受け取りたい
Osamu Shigematsu
m5issige @ mr.hitachi-medical.co.jp
2003年 6月 2日 (月) 10:20:26 JST
重松です。こんにちは。
> しかし、
>
> │ $ExlUserID = $HTTP_POST_VARS['ExlUserID'];
> │ for ($i = 0 ; $i < count($ExlUserID) ; $i++){
> │ print($ExlUserID[$i]."<BR>");
> │ }
>
> を、
> $ExlUserID = $HTTP_POST_VARS['ExlUserID[]'];
> としても、配列として、取得できないようです。
>
> どうすればいいかわかりますか?
回答の本題は、既についているようですが:
配列の概念が、という記述がありましたので、補足しますと、
PHP の array は、ハッシュ表なので、(いわゆる普通の?) 配列のように、
インデックスが 0 から順番に歯抜けにならず、
常についているわけではありません。
なので、
foreach($ExlUserID as $id) {
print $id . '<br />';
}
ようにされると、歯抜けの場合でも問題なく動くコードになります。
あるいは、もっと単純に、
print @join($ExlUserID, '<br />') . '<br />';
のようにすることもできます。
# join に配列以外を渡すとエラーになります。@ でそれを抑制します。
また、for 文で、 $i < count($ExlUserID) はループでその都度
評価されますが、count() も毎回実行されます。また、左辺値が不要な場合、
$i++ という書き方は低速なので、++$i の方がいいかもしれません。
# が気分の問題。
PHP は基本的に書いたとおり実行されるので、ずばりそのものがある場合、
極力利用することで速度が稼げます。
ところで、私の知ってる野口さん?
以前台東区の会社でご一緒だったような気が。
同姓同名ならごめんなさい。
--
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>
PHP-users メーリングリストの案内