クエリ結果セットを json_encode でエコーすると、各オブジェクトの前に結果行の番号が取得される理由がわかりません。返される行の合計数を数えて、JSON 文字列の先頭に 1 回だけ表示し、その後は行だけを返したいだけです。つまり、次のコードを使用します。
//...active record query
$result = $this->db->get();
$data = array();
$count = 1;
foreach($result->result() as $row)
{
$data['count'] = $count;
$entry = array();
$entry['firstname'] = $row->first_name;
$entry['lastname'] = $row->last_name;
$entry['jobtitle'] = $row->title;
$entry['dept'] = $row->dept_name;
$entry['deptid'] = $row->dept_no;
if($row->emp_no == null)
{
$entry['ismanager'] = 0;
}
else
{
$entry['ismanager'] = 1;
}
$data[] = $entry;
$count++;
}
return $data;
そして、コントローラーでjson_encodeすると、次のようになります。
{"count":35,"0":{"firstname":"Georgi","lastname":"Facello","jobtitle":"Senior Engineer","dept":"Development","deptid":"d005","ismanager":0},"1":{"firstname":"Kirk","lastname":"Facello","jobtitle":"Senior Engineer","dept":"Development","deptid":"d005","ismanager":0},....rest of the query results
私が望まないのは、行の結果の前の"0"
andなどです。"1"
返された結果の合計数は既にあるので、個々の行番号は必要ありません。
誰かが親切に私を助けてくれたら、感謝します。