我的查询工作正常并返回超过1000行。但是,当运行以下foreach循环时,只有第一行记录以JSON编码返回,并被识别为字符串而不是数组。
这是循环:
foreach ($query->result_array() as $row){
$row['Client_Desc'];
$row['Parent_Entity_Name'];
$row['Entity_Name'];
$row['trackbacknumber'];
$row['external_reference'];
$row['effective_start_date_time'];
$row['effective_end_date_time']."<br />";
}
var_dump(json_encode($row, TRUE));
返回的结果如下:....
string '{"Client_Desc":"FGA-Italy","Parent_Entity_Name":"Fiat Italy","Entity_Name":"Fiat Italy Dealer","trackbacknumber":"390236000471","external_reference":"0","effective_start_date_time":"04\/03 \/2013 10:13:57","effective_end_date_time":"01\/01\/3000 00:00:00"}' (length=255)
我是否正确使用了result_array?
感谢您的时间。非常感谢所有帮助!
答案 0 :(得分:0)
由于你在循环中什么都不做,所以每个循环都需要最后一行。
如果您需要将所有行传递给数组$data[] = $row;
foreach ($query->result_array() as $row)
{
$data[] = $row;
}
var_dump(json_encode($data, TRUE));
关于你在json_encode之后得到的字符串,这是因为它的返回类型是一个字符串。 PHP Manual- json_encode