友
我正在创建一个drupal表单(这是我的第二个yay!),我从数据库中提取有关Coursework的信息。一个非常简单的 coursework_id 和一个 coursework_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.'),
);
我正在尝试在上述选择表单的#options部分中传递我的coursework_id和coursework_name。
到目前为止,我已经提出了这行代码:
foreach ($results as $result) {
$courseworks = (array($result->coursework_id => $result->coursework_name));
}
这符合选项所需的格式,但是我只能存储一个结果:
Array
(
[2] => Java Programming
)
我怎么能以某种方式推送新结果。我已经尝试过PHP中的array_push,但它确实适用于这种情况,据我所知它只能追加一个值。
亲切的问候, -D
答案 0 :(得分:3)
你应该试试:
foreach ($results as $result) {
$courseworks[$result->coursework_id] = $result->coursework_name;
}
答案 1 :(得分:2)
基本上,您要在$courseworks
数组的每次迭代中重新定义$results
。
试试这个;
$courseworks = array();
foreach ($results as $result)
{
$courseworks[] = (array($result->coursework_id => $result->coursework_name));
}
答案 2 :(得分:1)
以下内容应该为您完成。首先定义数组,然后创建键并分配相对值:
$courseworks = array();
foreach ($results as $result) {
$courseworks[$result->coursework_id] = $result->coursework_name;
}