Ben birçok onay kutularını içeren bir form içeren bir drupal modülü yazıyorum. Örneğin
$form['myform_checkboxes'] = array('#type' => 'checkboxes', ...)
Ben 0. Eg ile başlayan, bu onay kutularını Sayısal için anahtar yaptık
$form['myform_checkboxes']['#options'][0] = '0:00';
$form['myform_checkboxes']['#options'][1] = '1:00';
Myform_checkboxes_submit fonksiyonu uygulandıktan sonra, bunu kullanıcının giriş neydi yorumlamak zor olduğunu keşfettiler. Interwebs, ben gerekeni yaptım kod birkaç satır güzel buldum.
$checked = array_intersect(
array_keys($form_state['values']['myform_checkboxes']),
array_values($form_state['values']['myform_checkboxes'])
);
Bu büyük iş gibi görünüyor; $ kontrol değişkeni kontrol onay kutularını içeren bir dizidir. Tek sorun (0 onay kutusunu temsil eden) 0 değeri her zaman $ aslında veya teslim olup olmadığını, kontrol dahil olmasıdır.
De yararlı dikkat: sıfır onu kontrol edildi ise listenin ilk sırasında, ama son değil ise.
Ne onay kutularını endekslenmesini değişen söz dışında olduğunu varsayarak, bu durumu çözmek için en iyi yol olacağını? (İlgili Bonus soru: drupal form değişkenleri, kullanıcının kontrol kutuları almak için daha kolay bir yolu var mı?)