如何使用键和值动态构建PHP数组

时间:2016-04-23 22:23:19

标签: php arrays key

将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);

2 个答案:

答案 0 :(得分:3)

这样的事情?

<?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);

答案 1 :(得分:2)

这应该将数组作为索引编入。

<?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);