从php对象构建json数据
我想构建一个Json对象来为我的图提供数据。我有以下代码来更改我的PHP对象从php对象构建json数据,php,json,Php,Json,我想构建一个Json对象来为我的图提供数据。我有以下代码来更改我的PHP对象 $rows = $this->Website_model->getGraphData(); $_rows = array(); $i = 0; foreach ($rows as $key => $row) { foreach ($row as $column => $value) { $_rows[$i]
$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
它应该是这样的:
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"
}
这将创建一个如您所愿的数组:
$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。因此,我无法猜测如何转换这些值 您确定这是您当前的输出吗?从您的代码和问题中,很难理解您试图实现的是什么。请澄清。当前输出是我在Firebux控制台中作为GET请求的答案得到的输出。@Kleskowy我试图实现的是以类似于上一个examle的格式将数据放入名为qm.graphData的javascript变量中。这将加载到我的站点上的xgrap。数据来自我的控制器(在codeigniter MVC结构中),我想我不是很清楚。。输出应该是{“y”:3283581,“x”:“2013-10-16”}等等。。。数组应包含2而不是3:)//此解决方案出现以下错误致命错误:无法在//apps.php第64行的数组中使用stdClass类型的对象。第64行为:$_rows[$I]['y']=$row[0];这意味着行是一个对象,而不是像示例数据中所示的数组。我无法猜测要编写代码的对象的成员是什么。我需要帮助的是在foreach循环之前的$rows的var_转储。