MW211 EXIT

devlog
HTML/ラジオボタンの真偽値
2012年10月03日
┌──────────────────────────────────────┐
│<input type="radio" name="論理型" value="true" />真                         │
│<input type="radio" name="論理型" value="false"/>偽                         │
└──────────────────────────────────────┘
とした場合、
┌──────────────────────────────────────┐
│$取得 = ($_POST['論理型']) ? TRUE : FALSE;                                  │
└──────────────────────────────────────┘
では、どちらもTRUEとなってしまう。
これは「true」「false」ともに文字列とみなされ、空文字以外はTRUEとなるからだ。

┌──────────────────────────────────────┐
│<input type="radio" name="論理型" value="true"/>真                          │
│<input type="radio" name="論理型" value=""    />偽                          │
└──────────────────────────────────────┘
もしくは
┌──────────────────────────────────────┐
│<input type="radio" name="論理型" value="1"/>真                             │
│<input type="radio" name="論理型" value="0"/>偽                             │
└──────────────────────────────────────┘
ならば、正しく判定できる。

┌──────────────────────────────────────┐
│<input type="radio" name="論理型" value="true" />真                         │
│<input type="radio" name="論理型" value="false"/>偽                         │
└──────────────────────────────────────┘
のままで、判定側を以下のようにしてしまうというのもある。
┌──────────────────────────────────────┐
│$取得 = ($_POST['論理型'] === 'true') ? TRUE : FALSE;                       │
└──────────────────────────────────────┘

どれが一番妥当なのだろうか?
分類:HTML、【未解決】