json_encode에 대한 쿼리 결과 세트를 echo 할 때 각 객체 앞에 결과 행 번호가 표시되는 이유를 모르겠습니다. 방금 반환 된 총 행 수를 계산하고 JSON 문자열의 시작 부분에 한 번만 표시하도록 설정 한 다음 나중에 행을 반환합니다. 나는. 다음 코드를 사용 :불필요한 행 인덱스 번호를 부여하는 JSON - 활성 레코드 - Codeigniter
//...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"
및 "1"
등이다. 이미 반환 된 결과의 총 개수가 있으므로 개별 행 번호가 필요하지 않습니다.
친절하게 도와 주시면 감사하겠습니다. 고마워요.
고마워요. 직렬화에 대해 방금 설명한 내용을 어디서 배울 수 있습니까? 감사합니다 – a7omiton
@ AZ1 [docs] (http://php.net/manual/en/function.json-encode.php)의 예제 # 3은 누락 된 요소가있는 배열이 주어질 때'json_encode'가 어떻게 동작하는지 보여줍니다 (또는 비 순차 요소). 내 상식은 배열에 "추가"필드가있는 경우에도 동일한 결과가 발생할 것이라고 말했습니다 (마지막 참고 사항 참조). – mgibsonbr