HTMLの複数のチェックボックスを、PHPの2次元配列で一括指定する方法。
サンプル
PHPコード
<?php
$array = array(
array( "チェックボックスA", "チェックボックスAのID", "チェックボックス名", "値A" ),
array( "チェックボックスB", "チェックボックスBのID", "チェックボックス名", "値B", "checked" ),
array( "チェックボックスC", "チェックボックスCのID", "チェックボックス名", "値C" ),
);
$sampleCheckbox = "";
for ( $indexA = 0; $indexA < count( $array ); $indexA++ ) {
$sampleCheckbox .= "<input type=\"checkbox\"";
if ( $array[$indexA][1] ) {
$sampleCheckbox .= " id=\"{$array[$indexA][1]}\"";
}
if ( $array[$indexA][2] ) {
$sampleCheckbox .= " name=\"{$array[$indexA][2]}\"";
}
if ( $array[$indexA][3] ) {
$sampleCheckbox .= " value=\"{$array[$indexA][3]}\"";
}
if ( $array[$indexA][4] ) {
$sampleCheckbox .= " checked=\"checked\"";
}
$sampleCheckbox .= ">";
$sampleCheckbox .= "{$array[$indexA][0]}";
$sampleCheckbox .= "\n";
}
echo "{$sampleCheckbox}";
?>
$array = array(
array( "チェックボックスA", "チェックボックスAのID", "チェックボックス名", "値A" ),
array( "チェックボックスB", "チェックボックスBのID", "チェックボックス名", "値B", "checked" ),
array( "チェックボックスC", "チェックボックスCのID", "チェックボックス名", "値C" ),
);
$sampleCheckbox = "";
for ( $indexA = 0; $indexA < count( $array ); $indexA++ ) {
$sampleCheckbox .= "<input type=\"checkbox\"";
if ( $array[$indexA][1] ) {
$sampleCheckbox .= " id=\"{$array[$indexA][1]}\"";
}
if ( $array[$indexA][2] ) {
$sampleCheckbox .= " name=\"{$array[$indexA][2]}\"";
}
if ( $array[$indexA][3] ) {
$sampleCheckbox .= " value=\"{$array[$indexA][3]}\"";
}
if ( $array[$indexA][4] ) {
$sampleCheckbox .= " checked=\"checked\"";
}
$sampleCheckbox .= ">";
$sampleCheckbox .= "{$array[$indexA][0]}";
$sampleCheckbox .= "\n";
}
echo "{$sampleCheckbox}";
?>
↓↓↓出力結果↓↓↓
出力結果
HTMLコード
<input type="checkbox" id="チェックボックスAのID" name="チェックボックス名" value="値A">チェックボックスA
<input type="checkbox" id="チェックボックスBのID" name="チェックボックス名" value="値B" checked="checked">チェックボックスB
<input type="checkbox" id="チェックボックスCのID" name="チェックボックス名" value="値C">チェックボックスC
<input type="checkbox" id="チェックボックスBのID" name="チェックボックス名" value="値B" checked="checked">チェックボックスB
<input type="checkbox" id="チェックボックスCのID" name="チェックボックス名" value="値C">チェックボックスC