Использование PHPGraphlib для проекта.

Следующее добавляет данные на график. Значения массива будут значением оси Y.

$graph->addData(array(100,12,43,342,9));

Если в массиве есть ключи, ключи будут соответствующими значениями оси x.

$data = array("1" => 100, "2" => 12, "3" => 43, "4" => 342, "5" => 9);

Мне нужно динамически построить массив $ data, начиная с ключевого значения «1», и присвоить значения из переменной, разделенной запятыми. Количество значений может меняться. Например:

$values="100,12,43,342,9,22,33";

Я мог бы разбить данные на массив

$splits = explode(",",$values);

Теперь у меня есть количество значений. Итак, как мне закодировать цикл для присвоения этих значений инкрементным ключам, чтобы массив $ data по существу был:

$data = array("1" => 100, "2" => 12, "3" => 43, "4" => 342, "5" => 9, "6" => 22, "7"=> 33);
1
user2140857 24 Апр 2016 в 01:23

2 ответа

Лучший ответ

Что-то вроде этого ?

<?php
$values="100,12,43,342,9,22,33";
$splits = explode(",",$values);
$data = array();
for ($x = 0; $x < count($splits); $x++) {
    $data[$x+1] = intval($splits[$x],10);    
}

var_dump($data);
3
hounded 23 Апр 2016 в 22:44

Это должно запустить массив как индексированный.

<?php
$values = "100,12,43,342,9,22,33";
$splits = explode(",", $values);
$data = array_combine(range(1, count($splits)), array_values($splits));
$data = array_map('intval', $data); // converts values to int

var_dump($data);
2
Thomas Lomas 23 Апр 2016 в 22:51