Массив Highchart по оси X

У меня есть php-страница, которая использует highcharts. Кажется, я не могу получить ось x для заполнения с помощью массива.

У меня есть массив php, который был создан с использованием:

$x = array(); 
while ($data = mysql_fetch_assoc($results)){ 
    $x[]= $data['sold_date'];  
}

когда я печатаю_r, я получаю

Массив ( [0] => 20.01.2009 [1] => 17.04.2009 [2] => 15.09.2009 [3] => 16.10.2009 [4] => 01.2010 -04 [5] => 01.04.2010 [6] => 23.07.2010 [7] => 20.10.2010 [8] => 07.01.2011 [9] => 05.2011 -27 [10] => 2011-07-01 [11] => 2011-10-14 [12] => 2012-01-27 [13] => 2012-04-25 [14] => 2012-07 -24 [15] => 2012-11-07 [16] => 2013-01-18 )

Теперь в highcharts я хочу, чтобы приведенный выше массив был значениями оси x. Я не знаю, что я делаю неправильно. Я пытался:

xAxis: {
  categories: ["<?php echo $x;?>"]
},

но он возвращает: массив слов 1 2 4 5 6 7... вместо того, чтобы перечислять даты в массиве. Пожалуйста помоги.


person user982853    schedule 19.01.2013    source источник


Ответы (2)


Используйте функцию join() для массива

categories: ['<?php echo join($categories, "', '") ?>']

Пример массива категорий:

<?php
   $categories[] = 'Jan';
   $categories[] = 'Feb';
   $categories[] = 'Mar';
   $categories[] = 'Apr';
?>
person Sebastian Bochan    schedule 01.02.2013

<?php
$i = 0;
$num = count($x);
?>


xAxis: {
  categories: [<?php foreach($x as $key) { 
                         if(++$i === $num) { // this will remove the comma if last in array.
                             $comma = ''; 
                         }
                         else {
                             $comma = ',';
                         }
                         echo "'" . $key . "'" . $comma . ""; } ?>]
},

Это не проверено.

person Ian Brindley    schedule 19.01.2013