如何在codeigniter

时间:2018-03-28 13:20:30

标签: php json codeigniter

我想让输出看起来像这样

[{"0":"1.1","1":"KAS & BANK","2":"kosong"},
{"0":"1.1","1":"KAS & BANK","2":"kosong"},
{"0":"1.1","1":"KAS & BANK","2":"kosong"}]

但我真的搞砸了代码和输出 这是我的控制器

public function coa($id){ $data['listcoa'] = $this->easyway_model->getCoa($id); $this->load->view('perusahaan_coa', $data); }

这是我的模特

    public function getCoa($id) 
{
    $query = $this->db->select('*')
          ->from('tb_coa')
          ->where('id_perusahaan', $id)
          ->get();
    return $query;
}

我应该如何在我看来调用它?到目前为止,我正在使用像这样的foreach,但输出真的搞砸了

foreach($listcoa->result() as $list){
$cabang[] = $list->no_account;
$cabang[] = $list->deskripsi_coa;
$cabang[] = $list->tipe_akun;
$json = json_encode($cabang, JSON_FORCE_OBJECT); 
echo $json; }

这是我到目前为止的输出

{"0":"1.1","1":"KAS & BANK","2":"kosong"}{"0":"1.1","1":"KAS & BANK","2":"kosong","3":"1.1.001","4":"KAS","5":"kosong"}{"0":"1.1","1":"KAS & BANK","2":"kosong","3":"1.1.001","4":"KAS","5":"kosong","6":"1.1.002","7":"MANDIRI","8":"kosong"}

没有逗号,数组索引不断增加。

1 个答案:

答案 0 :(得分:2)

首先需要移动

$json = json_encode($cabang, JSON_FORCE_OBJECT); 
echo $json;

foreach循环之外。目前,每次循环运行时它都会执行该命令,因此您需要多次输出$cabang数组,并且每次包含更多数据时,最新循环的结果是加入。

如果您希望将数组作为输出,也可以根据您的问题删除JSON_FORCE_OBJECT设置。而且你需要让$ cabang成为一个多维数组。

$cabang = array();

foreach($listcoa->result() as $list){
  $item = array();
  $item[0] = $list->no_account;
  $item[1] = $list->deskripsi_coa;
  $item[2] = $list->tipe_akun;
  $cabang[] = $item;
}

$json = json_encode($cabang); 
echo $json;