9

正如下面的示例显示如何调用字段,我的问题是如何调用多个选中的复选框。请给我一个例子

   $merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 
              'GROUPINGS'=>array(
                    array('name'=>'Your Interests:', 'groups'=>'Bananas,Apples'),
                    array('id'=>22, 'groups'=>'Trains'),
                    )
                );

我得到了解决方案。

要获得多个选中的复选框,您需要进行循环并将其设置在数组中,然后将数组更改为字符串。

 if(!empty($_POST['listbox']))
    {
        foreach($_POST['listbox'] as $value => $val)
        {

            $values[] = $val;

        }
         $groups = implode(",", $values);
    } 

然后将其设置在 merge_vars

 $merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 
          'GROUPINGS'=>array(
                array('name'=>'Your Interests:', 'groups'=> $groups)
                )
            );

希望能帮助到你 :)

4

1 回答 1

1

您必须用逗号分隔,但必须确保它们已转义逗号:

$groups = array();
if(!empty($_POST['listbox'])) {
    $interests = array();
    foreach($_POST['listbox'] as $interest)
    {
        $interests[] = str_replace(',', '\,', $interest);
    }

    $groups = implode(",", $interests);
}

$merge_vars = array(
    'FNAME'=>'Test', 
    'LNAME'=>'Account', 
    'GROUPINGS'=> array(
        array(
            'name'=>'Your Interests:', 
            'groups'=> $groups
        ),
        array(
            'id'=>22, 
            'groups'=>'Trains'
        )
    )
);

如果您确定兴趣字符串没有逗号,您可以这样做:

$groups = implode(',', $_POST['listbox']);
于 2013-01-19T16:53:31.227 回答