如何使用var_export的foreach循环?

时间:2011-11-08 17:15:39

标签: php arrays drupal drupal-6

我在Drupal中有一个带有一些复选框的表单,我需要选中复选框以将它们添加到数据库中。要获取复选框中的值,我使用var_export返回一个数组,指示是否已选中该复选框。在变量中有这个数组存储后,我这样做:

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

但是,当我打印出变量$ checked时,其中没有任何内容存储。我做错了什么?

1 个答案:

答案 0 :(得分:1)

在Drupal中执行此操作的常规方法是:

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

这将为您提供一个包含复选框元素中所选值的数组,假设您在表单的提交/验证处理程序中运行此代码。

另外我应该提到Devel module,它有一个名为dpm()的精彩函数,它以分层格式将任何变量的值打印到消息区域,您可以轻松浏览。