PHP: проблема вставки массива в массив - PullRequest
0 голосов
/ 02 сентября 2010

У меня есть скрипт, использующий API Google Charts и оболочку gChart.

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

$values = implode(',', array_values($backup));
var_dump($values);
string(12) "8526,567,833"

Я хочу использоватьмассив, подобный этому:

$piChart = new gPieChart();
$piChart->addDataSet(array($values));

Я бы подумал, что это выглядело бы так:

 $piChart->addDataSet(array(8526,567,833));

Однако, когда я запускаю код, он создает диаграмму только с первым значением.

Теперь, когда я жестко закодировал значения, я получаю каждое значение на графике.

Кто-нибудь знает, почему он так поступает?

Джонси

Ответы [ 2 ]

5 голосов
/ 02 сентября 2010

Я думаю

$piChart->addDataSet(array_values($backup));
// or just: $piChart->addDataSet($backup); depends on $backup

должен это сделать.

$values содержит только строку. Поэтому, если вы сделаете array($values), вы создадите массив с одним элементом:

$values = "8526,567,833";
print_r(array($values));

дает

Array
(
    [0] => 8526,567,833
)

array(8526,567,833) будет таким же, как array_values($backup) или, может быть, даже $backup, это зависит от массива $backup.

3 голосов
/ 02 сентября 2010

Похоже, что вы хотите использовать $backup вместо $values, так как $values является развёрнутой строкой ... и поскольку 8526,567,833 не является допустимым числом, оно анализирует 8526 и оставляет остальные в покое.

...