-1

我想构建一个 Json 对象来提供我的图表。我有以下代码来更改我的 PHP 对象。

    $rows = $this->Website_model->getGraphData();       

    $_rows = array();

    $i = 0;
    foreach ($rows as $key => $row) {
        foreach ($row as $column => $value) {
            $_rows[$i][] = $value;
        }
        $i++;
    }

    $rows = $_rows; 


    echo json_encode(array("sEcho" => intval($sEcho), "data" => $rows));
    die();  

我当前的输出如下所示:

array(24) {
  [0]=>
  array(3) {
    [0]=>
    string(7) "3283581"
    [1]=>
    string(10) "2013-10-16"
  }

它应该看起来像这样:

{"y":15,"x":"2012-11-19"},{"y":18,"x":"2012-11-19"} etc etc

如何将 Y 和 X 添加到我的数据中并注意我将获得正确的输出来提供我的图表?

///////////////////////////////////////// ///

我尝试了以下方法:

现在我正在使用以下代码:

    $rows = $this->Website_model->getGraphDataPositives();      

    $_rows = array();

    $i = 0;
    foreach ($rows as $key => $row) {
        foreach ($row as $column => $value) {
            $_rows[$i]['x'] = $value;
            $_rows[$i]['y'] = $value;
            $i++;
        }
    }   

这导致以下响应:

array(48) {
  [0]=>
  array(2) {
    ["x"]=>
    string(7) "3283581"
    ["y"]=>
    string(7) "3283581"
  }
  [1]=>
  array(2) {
    ["x"]=>
    string(10) "2013-10-16"
    ["y"]=>
    string(10) "2013-10-16"
  }

所以还不行..它应该说:

array(48) {
  [0]=>
  array(2) {
    ["x"]=>
    string(7) "3283581"
    ["y"]=>
    string(7) "2013-10-16"
  }
  [1]=>
  array(2) {
    ["x"]=>
    string(10) "1512116"
    ["y"]=>
    string(10) "2013-10-17"
  }
4

1 回答 1

0

这将创建一个您希望的数组:

$rows = $this->Website_model->getGraphData(); 
$_rows = array();
$i = 0;
foreach ($rows as $key => $row) {
    $_rows[$i]['y'] = $rows[0];
    $_rows[$i]['x'] = $rows[1];
    $i++;
}

您的示例数据不正确。您有数组(3),但只显示 2 个元素。同样在输出数据中,您有 3283581,y 值为 15 和 18。所以我无法猜测如何转换这些值。

于 2013-11-08T19:18:51.220 回答