【问题标题】:Pushing into a 2 dimensional PHP array推入二维 PHP 数组
【发布时间】:2013-05-05 17:11:24
【问题描述】:

朋友们,

我正在创建一个 drupal 表单(这是我的第二个表单!),我正在从数据库中提取有关课程作业的信息。一个非常简单的 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

【问题讨论】:

    标签: php arrays multidimensional-array drupal-7 drupal-forms


    【解决方案1】:

    你应该尝试一下:

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

      【讨论】:

        【解决方案3】:

        以下内容应该为您完成。您先定义数组,然后创建键并分配相对值:

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

        【讨论】:

          猜你喜欢
          • 2016-07-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-27
          • 1970-01-01
          • 1970-01-01
          • 2017-01-19
          相关资源
          最近更新 更多