0

5 行と 30 フィールドの html フォームがあります。添付の画像に注意してください。画像

後で csv ファイルに変換するには、これらすべてのフィールドを配列にキャプチャする必要があります。各フィールドには、qt1、fa1、en1、et1、ba1、qt2、fa2 などのラベルが付けられています。各行を取り、一度に 1 つずつ PHP の配列に追加する代わりに、簡単な (より良い) 方法があります。これを達成するには?

各行を簡単に取得して配列に追加できます。これに関する問題は、スクリプトの速度と、php スクリプトに 30 行の配列データを書き込む必要があるという事実です。

4

2 に答える 2

2

これはあなたが探しているものですか?

<?php
for($i = 0; $i < 30; $i++): ?>
    <input name="qt[<?php echo $i; ?>]"/>
    <input name="fa[<?php echo $i; ?>]"/>
    <input name="en[<?php echo $i; ?>]"/>
    <input name="et[<?php echo $i; ?>]"/>
    <input name="ba[<?php echo $i; ?>]"/>
<?php
endfor;
?>

サーバー側では、とにかく $_POST 変数でこのすべてのデータを受け取るので、関係なくすべて配列になります。これには、同じ行のすべての値を同じインデックスで保存し、すべて同じデータ型を 1 つの配列に保存できるという利点があります。

パフォーマンスについてはわかりませんが、コードの読みやすさとメンテナンスはこのようにはるかに簡単です.

于 2013-10-06T18:23:08.277 に答える
0

入力フィールドに次のような名前を付けると、後でphpのように多次元配列としてinput[i][j]アクセスできます。$_REQUEST['input'][i][j]

于 2013-10-06T18:23:41.217 に答える