Как использовать цикл foreach с var_export? - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть форма с несколькими флажками в Drupal, и мне нужно установить флажки, чтобы добавить их в базу данных. Чтобы получить значения в флажках, я использую var_export, который возвращает массив, указывающий, был ли установлен флажок. После хранения этого массива в переменной я делаю это:

$checked = array();
if(is_array($data) {
 foreach($data as &$value) {
   if($value != 0) { //the checkbox was checked
    $checked[] = $value;
 }
}

Однако, когда я распечатываю переменную $ selected, в ней ничего не сохраняется. Что я делаю не так?

1 Ответ

1 голос
/ 08 ноября 2011

Обычный способ сделать это в Drupal был бы:

$checked = array_filter($form_state['values']['name_of_checkboxes_element']);

Это даст вам массив всех значений, выбранных в вашем элементе флажка, при условии, что вы запускаете этот код в submit /валидатор для формы.

Также я должен упомянуть модуль Devel , в нем есть замечательная функция под названием dpm(), которая печатает значение любой переменной в области сообщений в иерархическом формате.что вы можете легко перемещаться.

...