[PHP-users 8380] 配列変数の展開について
sin
php-users@php.gr.jp
Wed, 03 Jul 2002 06:53:41 +0900
sinと言います。
検索サイトのカテゴリーを表示する部分なのですが、PHP4で以下のソースを実行すると連番が振られて展開されます。PHPの仕様なのでしょうか?
-------------------------------------------------
$sql = "select * from t_category where ID = 1";
if(!$a = mysql_query($sql) ){
error('データ読み出せません',"管理人にご連絡下さい"); }
# html表示
$to[category] = '<Select name="category" size="1">';
$date_category = mysql_fetch_array($a);
while (list($key,$var) = each($date_category)){
if($key != 'ID' && $var != 'last'){
$to[category] .="<Option>$var";
}
}
$to[category] .= '</Select><Br>';
-------------------------------------------------
テーブル t_category の内容
ID category-1 category-2・・・・・
1 リンク集 last '' ''・・・
実行結果表示
<Select name="category" size="1">
<Option>リンク集
<Option>リンク集
:
:
</Select><Br>
-------------------------------------------------
デバグ用にwhileの直後に$key,$varを表示
出力結果
0 1<br>
ID 1<br>
1 リンク集<br>
category_1 リンク集<br>
2 last<br>
category_2 last<br>
:
:
フィールド名とは別に連番が振られるので、$key=1,$var=リンク集、$key=category_1(フィールド名),$var=リンク集・・・・
となって$varが二つずつ表示される。
--------------------------------------------------
自分の希望する動作としては、以下のように表示したいのですが、どのように変更すれば宜しいでしょうか?
<Select name="category" size="1">
<Option>リンク集
:
:
</Select>
-------------------------------------------------
お忙しい所申し訳ありませんが、ご教示の程宜しくお願い致します。