Как добавить массив в существующий двумерный массив (для использования в Highcharts)

0

Я пытаюсь вставить массив в двумерный массив. Но что бы я ни старался - вставляя его как массив, как текст, array_push,... - он не будет делать то, что я хочу.

У меня есть эта часть кода, которая описывает содержание и внешний вид графика:

$data_ = array( "chart"  => array("renderTo" => "container", "type" => "spline", 
                                     "zoomType" => "xy"), 
                "tooltip"   => array("shared" => true, "crosshairs" => true),
                "series"    => $data);

Теперь, основываясь на параметре, переданном через вызов JSON, может быть показано, что граница графика будет отображаться (по умолчанию "нет границы").

if ($_GET["border"] == true)
{
    $border = array("borderWidth" => 1, "borderRadius" => 5, "borderColor" => "#666", "shadow" => true);
}

Теперь, как я могу получить $ границу в " диаграмме " -part в $ data_?

Я попробовал что-то вроде этого (определив границу $ перед $ data_):

$data_ = array( "chart"  => array("renderTo" => "container", "type" => "spline", 
                                     "zoomType" => "xy", $border), 
                "tooltip"   => array("shared" => true, "crosshairs" => true),
                "series"    => $data);

а вот так:

$data_["chart"][] = $border;

(плюс многие другие). Но это всегда приводит - очевидно и понятно - в $ border вставляется как массив в "диаграмме" и не имеет параметров на одном уровне, то есть:

Я получаю это:

$data_ = array( "chart"  => array("renderTo" => "container", "type" => "spline", 
                                     "zoomType" => "xy", 
                                     array("borderWidth" => 1, "borderRadius" => 5, "borderColor" => "#666", "shadow" => true)), 

вместо этого:

$data_ = array( "chart"  => array("renderTo" => "container", "type" => "spline", 
                                     "zoomType" => "xy", 
                                     "borderWidth" => 1, "borderRadius" => 5, "borderColor" => "#666", "shadow" => true), 

Я думаю, решение довольно просто, но, к сожалению, мне не известно. Большое спасибо за любые подсказки!

Теги:
arrays
highcharts

1 ответ

0
Лучший ответ

Я бы попытался с $data_['chart'] = array_merge($data_['chart'], $border);

Пример:

$a = array("chart" => array(1, 2, 3));
$b = array(4, 5, 6);
$a['chart'] = array_merge($a['chart'], $b);
var_dump($a['chart']);

Вывод:

array(6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню