如何将数组添加到现有的二维数组(用于Highcharts)

时间:2015-02-02 08:06:07

标签: php arrays highcharts

我正在尝试将数组插入到二维数组中。但无论我尝试什么 - 将它作为数组插入,如text,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);
}

现在,如何将 $ border 纳入 $ data _ 的" 图表" -part?

我试过这样的事情(通过在 $ data _ 之前定义 $ border ):

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

并且像这样:

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

(加上许多其他人)。 但这总是会产生 - 显然也是可以理解的 - 在$ border中插入一个数组" chart",并且没有将params放在同一级别,即:

我明白了:

$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), 

我想解决方案非常简单,但遗憾的是我不知道。非常感谢任何提示!

1 个答案:

答案 0 :(得分: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)
}