2013-05-05 107 views
1

朋友,推到一個二維PHP數組

我創建一個Drupal的形式(其我的第二一個耶!),我約習作數據庫的信息拉。一個非常簡單的coursework_idcoursework_name

現在一般的格式來填充Drupal的下拉菜單如下:

$form['selected'] = array(
     '#type' => 'select', 
     '#title' => t('Selected'), 
     '#options' => array(
      0 => t('No'), 
     1 => t('Yes'), 
     ), 
     '#default_value' => $category['selected'], 
     '#description' => t('Set this to <em>Yes</em> if you would like this category to be selected by default.'), 
    ); 

我想通過我的coursework_id和coursework_name在上述選擇形式的#options一部分。

到目前爲止,我想出了這行代碼:

foreach ($results as $result) { 

      $courseworks = (array($result->coursework_id => $result->coursework_name)); 
} 

此相匹配的選項所需的格式,但是,但是我只能存儲一個結果:

Array 
(
    [2] => Java Programming 
) 

我怎麼能能夠以某種方式的新結果。我曾嘗試從PHP的array_push,但它似乎適用於這種情況下,它可以據我所知只附加一個值。

親切的問候, -D

回答

3

你應該簡單地嘗試:

foreach ($results as $result) { 
    $courseworks[$result->coursework_id] = $result->coursework_name; 
} 
1

下面應該爲你做。首先定義數組,然後創建鍵並指定相對值:

$courseworks = array(); 
foreach ($results as $result) { 
    $courseworks[$result->coursework_id] = $result->coursework_name; 
} 
2

基本上你是用$results陣列的每一次迭代重新定義$courseworks。 試試這個;

$courseworks = array(); 
foreach ($results as $result) 
{ 
    $courseworks[] = (array($result->coursework_id => $result->coursework_name)); 
}