Php 需要用查询结果填充数组,并对这些结果进行json_编码(在codeigniter中)

Php 需要用查询结果填充数组,并对这些结果进行json_编码(在codeigniter中),php,arrays,json,loops,foreach,Php,Arrays,Json,Loops,Foreach,我的查询工作正常,返回的行数超过1000行。但是,当运行以下foreach循环时,只有第一行记录以JSON编码返回,并被识别为字符串而不是数组 以下是循环: foreach ($query->result_array() as $row){ $row['Client_Desc']; $row['Parent_Entity_Name']; $row['Entity_Name']; $row['trackbacknumber']; $row['exter

我的查询工作正常,返回的行数超过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));
我是否正确使用结果数组


谢谢你抽出时间。非常感谢您的帮助

因为您在循环内什么都不做,所以它将占用for each循环中的最后一行。 如果需要所有行,则需要将其传递给数组
$data[]=$row

foreach ($query->result_array() as $row)
{
$data[] = $row;
}
var_dump(json_encode($data, TRUE));
关于json_编码后得到的字符串,这是因为它的返回类型是字符串。

你好,伙计。谢谢你的回复。我已输入以下内容:<代码>foreach($query->result\u array()作为$row){$data['Client\u Desc']=$row;$data['Parent\u Entity\u Name']=$row;$data['trackbacknumber']=$row;$data['external\u reference']=$row;$data['effective\u start\u-start\u-date\u-time']=$row;$data['effective\u-end\u-date\u-time']=$row;$var\u-dump(json_encode($data,TRUE));
它现在返回了相互嵌套的行。粘贴整个字符串太长了,但这是开始…
'{“Client_Desc”:{“Client_Desc”:…
您有任何其他建议吗?我似乎正在接近一个干净的结果返回。试试这个$data[]['Client_Desc]=$row['Client_Desc'];$data[]['Parent_Entity_Name']=$row['Parent_Entity_Name'];我看不到那个工作伙伴。您键入的内容的逻辑在哪里?谢谢。我不太理解您的意思,您是说在json_编码后没有得到数组吗?它返回一个字符串值。
foreach ($query->result_array() as $row)
{
$data[] = $row;
}
var_dump(json_encode($data, TRUE));