はじめに
inputで入力された値をphp側で把握してdbに登録したいようなケースがあるよな(例えばマスタとして全量が登録してあって、そのなかから取り扱ういくつかを選択して、以降は選んだものだけを表示する管理画面みたいなやつな)
探すと name="use_cert[]"
みたいにやるんだぜ、って出てくるんだけど、配列の index は 0ベースである。stackoverflow を当たっても javascript で上書きするようなやり方しかねぇ。
・・・上書き? ふとひらめいた
IT女子の仕事メモ|php checkboxのオン/オフ(checked)の値を取得
結論
あっいけるじゃん。えっ?これって見つけちゃったってやつ?
配列に変数つっこめるじゃん
<table>
<thead>
<tr>
<th>使う</th>
<th>資格名</th>
</tr>
</thead>
<tbody>
<?php foreach ($certifications as $k => $v) : ?>
<tr>
<td><label><input type="checkbox" name="use[<?= $k ?>]" <?= $v['checked'] ?>></label></td>
<td><label><input type="text" name="name_short[<?= $k ?>]" value="<?= $v['name'] ?>"></label></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>