2011-10-11 75 views
9

下面的示例顯示瞭如何調用字段,我的問題是如何調用多選複選框。請給我一個例子如何在組中列出訂閱Mailchimp API 1.3

$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) 
       ) 
      ); 

希望它能幫助:)

+0

僅僅運行$ _POST [「listbox」]上的implode會不會更容易? – Atheist

+0

謝謝,它真的幫助了我,因爲我的文檔缺乏如何構建這組數組的示例 –

+0

您應該將問題部分中的答案移動到答案中,因爲它可以接受 –

回答

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']); 
相關問題