Add row to SQL array

时间:2017-03-21 作者:mannyotr

很抱歉不得不问这个问题,但我已经搜索了又搜索,似乎不知道该怎么做。。。

我在自定义PHP页面上有以下代码:

(code placeholder spot which I will reference later)

$races = $wpdb->get_results("
      select r.race_name
            ,r.race_id
            ,date_format(r.race_date,\'%c.%d.%Y\') race_date
        from race_calendar r
       order by r.race_date;
      ");

foreach ( $races as $race ) {
  echo $race->race_id . \',\' . $race->race_name . \',\' . $race->race_date;
}
显示如下内容:

1, Resolution, 2017-01-17
2, Sea 2 Sea, 2017-03-02
3, Earth Day, 2017-04-22
但是,我的问题是。。。

我需要能够在数组的开头添加自定义行。

因此,我需要能够在上面的位置添加一些代码(code placeholder spot which I will reference later) 它将插入我想要的任何内容作为数组的第一行。

我希望能够添加一个自定义行,例如“id、name、date”,这样当我运行显示代码时,它将显示以下内容:

id, name, date
1, Resolution, 2017-01-17
2, Sea 2 Sea, 2017-03-02
3, Earth Day, 2017-04-22
我尝试了一些在网上找到的东西,但似乎没有任何效果。

不,简单的“echo”命令不行。我不想详细说明原因(因为这会使这篇文章很长),但在我的情况下,我需要将自定义行添加到数组中。

请帮忙!

======================编辑(已回答!!)======================

多亏了@Abdul,我才能够使用此代码:

$races_to_send =  array(array (\'name\', \'id\', \'date\'));

$races = $wpdb->get_results("
        select r.race_name
              ,r.race_id
              ,date_format(r.race_date,\'%c.%d.%Y\') race_date
         from race_calendar r
        order by r.race_name
                ,r.race_date;
       ", ARRAY_N);

$merged_arr = array_merge($races_to_send, $races);

foreach ( $merged_arr as $race ) {
      echo $race[\'0\'] . \',\' . $race[\'1\'] . \',\' . $race[\'2\'];
    }

2 个回复
最合适的回答,由SO网友:Abdul Awal Uzzal 整理而成

像这样的怎么样?

$custom_row = array(array(\'race_id\' => \'1\', \'race_name\' => \'2\', \'race_date\' => \'3\'));

$races = $wpdb->get_results("
      select r.race_name
            ,r.race_id
            ,date_format(r.race_date,\'%c.%d.%Y\') race_date
        from race_calendar r
       order by r.race_date;
      ", ARRAY_N);
$merged_arr = array_merge($custom_row, $races);
foreach ( $merged_arr as $race ) {
  echo $race[\'race_id\'] . \',\' . $race[\'race_name\'] . \',\' . $race[\'race_date\'];
}

UPDATE

$custom_row = array(array(\'1\', \'2\', \'3\'));

$races = $wpdb->get_results("
      select r.race_name
            ,r.race_id
            ,date_format(r.race_date,\'%c.%d.%Y\') race_date
        from race_calendar r
       order by r.race_date;
      ", ARRAY_N);
$merged_arr = array_merge($custom_row, $races);
foreach ( $merged_arr as $race ) {
  echo $race[\'0\'] . \',\' . $race[\'1\'] . \',\' . $race[\'2\'];
}

SO网友:Anton Pedan

如果你还没有解决这个问题,你应该尝试使用数字数组,以防你的race\\u to\\u add。它应该有助于返回正确的数组以实现打印功能